当你写了一个网络服务,运行时发现端口被占用怎么办,当然是换一个端口就好了呀。
但是8000
端口也能被占用?那就不能忍了,必须揪出这个不识趣的家伙打一顿,然后强行结束进程。
首先你需要打开cmd
,然后输入如下命令:
netstat -aon|findstr "8000"
然后系统会列出该端口的使用情况:
TCP 0.0.0.0:8000 0.0.0.0:0 LISTENING 16564
UDP 0.0.0.0:8000 *:* 16564
最后的数字16564
就是占用8000
端口的进程ID。要通过进程ID找到对应的进程有两种方式。
一是通过任务管理器找:
- 切换到进程选项卡
- 点击查看菜单
- 勾选PID
然后就可以通过PID找到对应进程,并把它打一顿。
二是在命令行中输入tasklist|findstr "8000"
。然后会打印出该进程的名字:
XXxxxx.exe 16564 Console 1 xx,xxx K
这样也能查处对应进程的名字。
通过taskkill
命令也能结束进程,既可以通过进程名,也可以通过进程ID结束。
taskkill /f /t /im XXxxxx.exe
或者
taskkill /f /t /PID 16564
其中,/f
表示强制结束,/t
表示同时结束该进程的子进程,/im
表示以进程名来结束进程,注意它是可以模糊匹配的。
打完进程后,再启动你写的网络服务,就不会报端口被占用的错了。