进程占用端口结束方法
装小皮面板或者配 Nginx 的时候,最烦的就是启动报“端口被占用”。说白了就是有个进程占着 80 或 3306 不放,把它找出来结束掉就行。
Windows 下先找 PID:netstat -ano | findstr :80,最后一列就是 PID,再按 PID 结束进程:taskkill /F /PID 1234。任务管理器里看不到的进程,命令行一般都能解决。
netstat -ano | findstr :80 # 查谁占用了80端口,记下PID
netstat -ano | findstr :3306 # 查MySQL端口
taskkill /F /PID 1234 # 强制结束指定PID
Linux 服务器上更简单,用 lsof 或者 netstat 查到 PID,然后 kill 掉:
lsof -i:80 # 直接看占用80端口的进程
netstat -tunlp | grep 80 # 没有lsof就用这个
kill -9 1234 # 结束进程,PID换成实际的
如果进程 Kill 不掉,先 ss -tunlp 确认一下是不是 systemd 托管的服务,是的话用 systemctl stop 服务名 更稳。Windows 下小皮面板占着 80 的情况,优先从面板里停服务,别硬杀,不然残留进程反而更难处理。
杀完再执行一次 netstat 确认端口空出来了,然后重启 Apache 或 Nginx 就行。
说点什么 0