我们在对某个项目进行启动或者重启时,由于多种原因偶尔会导致所需用到的端口被占用,最终项目启动失败。例如现在我想在3001端口运行某个nodejs服务端程序,然而发现3001端口莫名其妙被占用了。现在我们该怎么办呢?在任务管理器中把所有node进程都结束吗,这肯定不科学。所以我们需要做的是使用命令行精确找到正在占用该端口的进程,并将它停止即可。现在将需要用到的cmd命令代码和步骤分享如下。
1、开始菜单–>运行–>cmd,或者可以使用window+R快捷键,唤出命令行窗口。
2、在命令行窗口输入:netstat -ano,即可列出所有端口的占用情况;我们在列表中找到被占用的端口,例如现在是3001被占用,那么我们找到那一行的数据。
3、接下来使用命令查看这个被占用端口所对应的PID(进程ID),我们通过输入如下命令实现:netstat -aon|findstr “3001”,并回车,此时就会显示占用3001端口的进程对应的PID,假设此时pid是7604。
4、我们使用如下命令来结束这个7604进程:Taskkill /pid [进程码] -t(结束该进程) -f(强制结束该进程以及所有子进程)
也就是说,我们使用taskkill /pid 7604 -t
或者taskkill /pid 7604 -f
都可以结束这个进程。当然我们也可以使用其简化版tskill 7604
来结束该进程,不过这个简化版命令对于是否成功执行无法直接反馈。如果你觉得输入命令不够直观,比较麻烦。你也可以去任务管理器中找到对应的进程号,通过右键菜单进行终止。
5、结束进程的步骤为以上四步,但是如果你想知道该进程是属于什么应用程序的,那么你可以使用如下命令,来获取该进程所属的程序名称:tasklist|findstr “7604”,并回车,可以查看7604这个进程属于哪个程序,假设现在的结果显示为:node.exe,则表明该进程是属于nodejs程序的。最后还要说明一点,以上命令是在windows系统的电脑或云服务器中使用的,如果是linux系统的机器,那么该文章可能无法帮助你。