Linux之删掉占用端口的进程
兔老大RabbitMQ 2024-06-16 08:07:16 阅读 98
要检查某个端口是否被占用,你可以使用 netstat
或 ss
命令。然后,根据输出来确定哪个进程占用了该端口,并使用 kill
命令结束该进程。以下是步骤和示例:
检查端口占用
使用 netstat
命令(如果系统中有的话):
netstat -tulnp | grep :PORT
或者使用 ss
命令(推荐,因为 netstat
已经被淘汰):
ss -tulnp | grep :PORT
其中 PORT
是你想要检查的端口号。这些命令的参数说明如下:
-t
表示显示 TCP 端口。
-u
表示显示 UDP 端口。
-l
表示显示正在监听的端口。
-n
表示直接显示数字形式的 IP 地址和端口,不进行域名解析。
-p
表示显示监听端口的进程号及其名称。
请注意,-p
选项通常需要 root 权限。
杀死占用端口的进程
当你知道了哪个进程占用了端口,你可以根据输出中显示的 PID(进程 ID)使用 kill
命令结束它。如果 netstat
或 ss
输出显示 PID 为 1234,你可以执行:
kill 1234
如果进程没有响应 SIGTERM
信号(kill 命令默认发送的信号),你可能需要使用 SIGKILL
信号强制结束进程,但这应该是最后的手段:
kill -9 1234
如果你不是进程的所有者,你可能需要使用 sudo
来获取足够的权限。
示例:
假设你想检查端口 8080 是否被占用,你可以使用:
ss -tulnp | grep :8080
输出可能会是这样的:
tcp LISTEN 0 128 *:8080 : users:(("java",pid=1234,fd=50))
这表明 PID 为 1234 的进程(在这个例子中是一个 Java 应用)正在监听端口 8080。如果你决定结束这个进程,就可以执行:
kill 1234
或者,如果需要强制结束:
sudo kill -9 1234
请确保你了解正在结束的进程的用途,并确认结束该进程不会对系统或应用程序造成破坏。在生产环境中,应谨慎行事。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。