描述:经常遇到端口号占用异常,这时候就需要指定关闭这个占用的端口号进程,重启电脑是一个最简单的办法,但往往重启电脑后需要重新运行各种需要的程序,因此也不是长久之计,这时候需要用控制台关闭指定的进程。
Windows、Linux、MacOS
一、Windows+R输入cmd回车,打开控制台,使用查看指定端口命令:netstat -ano | findstr 端口号
netstat -ano | findstr 端口号
如图所示:
查看端口时可能会出现以上两种情况:一种是LISTENING,另一种是TIME_WAIT ; 当参数为 TIME_WAIT时,表示占用此端口的那个进程正在改变状态,稍等一下可能这个进程就结束了。参数为LISTENING 时,就需要手动关闭这个进程了,最后一个参数是这个进程的进程号,即图中 20144。
二、关闭进程
2.1 方式一:手动关闭进程,运行查看进程命令:tasklist | findstr 进程号
tasklist | findstr 进程号
查看进程的详细信息,第一个参数是启动该进程的程序,即图中java.exe,使用任务管理器将其关闭
2.2 方式二:执行此命令强制关闭指定进程号的进程,运行关闭进程命令:taskkill -PID 进程号 -F
登录后复制
taskkill -PID 进程号 -F
Linux、MacOS
Address already in use
Port 5000 is in use by another program. Either identify and stop that program, or start the server with a different port.
On macOS, try disabling the 'AirPlay Receiver' service from System Preferences -> Sharing.
(base) tangsiqi@tangsiqideMacBook-Pro ~ % sudo lsof -i tcp:5000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ControlCe 591 tangsiqi 7u IPv4 0xe3803839ea7ca755 0t0 TCP *:commplex-main (LISTEN)
ControlCe 591 tangsiqi 8u IPv6 0xe38038351fb87a5d 0t0 TCP *:commplex-main (LISTEN)
(base) tangsiqi@tangsiqideMacBook-Pro ~ % lsof -i:5000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ControlCe 50808 tangsiqi 8u IPv4 0xe3803839e35a69b5 0t0 TCP *:commplex-main (LISTEN)
ControlCe 50808 tangsiqi 9u IPv6 0xe38038351fb8b25d 0t0 TCP *:commplex-main (LISTEN)
(base) tangsiqi@tangsiqideMacBook-Pro ~ % kill 50808