很多情况下的很多操作,都需要pid。但是在受限环境下,查找pid是一个困难的事情。

站在p神的的肩膀上,记录一下如何解决。

linux的本质是一个文件系统,一切命令的来源都可以是文件。

读取 /proc/net/tcp文件,拿到服务器上所有TCP连接,找到我们需要的端口号。

1
cat /proc/net/tcp

ex:

0016对应对就是22号端口,对应的inode号是15437。

linux下socket也是文件,通过列出计算机上所有文件描述符对应的inode。

1
ls -ali /proc/*/fd/   

我们需要查找inode号是15437,找到对应的。

然后使用ps 命令就可以看到对应的pid了

1
ps aux |grep 725
1
576571