Socket

如果我不能使用 lsof 命令,如何獲得特定 pid 的活動 unix 域套接字?

  • July 25, 2018

如果我無權使用 lsof,如何讓它們用於已知 pid 的程序?謝謝

我知道netstat -l -p命令列印出活動的 unix 域套接字,但它似乎沒有更新?關閉套接字後,它仍然顯示在 netstat 命令結果中。

在 Linux 上,您可以/proc/proc/<pid>/fd. 每個程序都列出了所有文件描述符 (fd)。

例子

$ ls -l /proc/27634/fd/
total 0
lrwx------ 1 root root 64 Mar 17 20:09 0 -> /dev/null
lrwx------ 1 root root 64 Mar 17 20:09 1 -> /dev/null
lrwx------ 1 root root 64 Mar 17 20:10 10 -> /dev/ptmx
lrwx------ 1 root root 64 Mar 17 20:10 12 -> /dev/ptmx
lrwx------ 1 root root 64 Mar 17 20:10 13 -> /dev/ptmx
lrwx------ 1 root root 64 Mar 17 20:09 2 -> /dev/null
lr-x------ 1 root root 64 Mar 17 20:09 3 -> socket:[430396]
l-wx------ 1 root root 64 Mar 17 20:09 4 -> socket:[430437]
lrwx------ 1 root root 64 Mar 17 20:09 5 -> pipe:[430440]
l-wx------ 1 root root 64 Mar 17 20:10 6 -> pipe:[430440]
lrwx------ 1 root root 64 Mar 17 20:10 7 -> socket:[430443]
lrwx------ 1 root root 64 Mar 17 20:10 8 -> socket:[430444]
lrwx------ 1 root root 64 Mar 17 20:10 9 -> socket:[430446]

那裡列出的所有東西socket:[....]都是一個套接字。

引用自:https://unix.stackexchange.com/questions/270544