比如我们已知端口5600被占用,需要找到是哪个程序占用了,可以通过如下方式进行查找。

1. 先通过lsof命令找到打开该端口对应的程序的PID。
[yuanping@Linux C]$ lsof -i :5600
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
server 4643 yuanping 3u IPv4 1286699 0t0 TCP *:esmmanager (LISTEN)2. 通过PID找到对应的文件,这里的4643就是上面步骤中找到的程序的PID。
[yuanping@Linux C]$ ls -l /proc/4643/exe
lrwxrwxrwx. 1 yuanping yuanping 0 Jan 8 23:08 /proc/4643/exe -> /home/yuanping/Code/C/server
[yuanping@Linux C]$ 或者可以通过如下一个语句完成,其中5600换成你的端口。
[yuanping@Linux C]$ ls -l /proc/`lsof -i :5600 | awk -F " " '{print $2}' | grep -v "PID" | sort | uniq`/exe
lrwxrwxrwx. 1 yuanping yuanping 0 Jan 8 23:08 /proc/4643/exe -> /home/yuanping/Code/C/server
[yuanping@Linux C]$ 
本文详细介绍了使用lsof命令在Linux环境下查找占用指定端口(如5600)的程序及其PID的方法。通过执行lsof命令并筛选输出,可以轻松定位到占用端口的进程,并进一步通过PID找到对应进程的文件路径。
133

被折叠的 条评论
为什么被折叠?



