0

を使用するプロセスで開いているファイルのリストを表示したい場合、ls -l /proc/pid/fdいくつかのソケット記述子が表示されます。それぞれのファイル名を見つけるにはどうすればよいですか?

lr-x------ 1 u1 users 64 Sep 15 14:45 0 -> /dev/null
lrwx------ 1 u1 users 64 Sep 15 14:45 1 -> /dev/pts/3
lrwx------ 1 u1 users 64 Sep 15 14:45 10 -> socket:[507942]
l-wx------ 1 u1 users 64 Sep 15 14:45 2 -> pipe:[505993]
l-wx------ 1 u1 users 64 Sep 15 14:45 22 -> pipe:[505994]
l-wx------ 1 u1 users 64 Sep 15 14:45 3 -> /dev/null
lrwx------ 1 u1 users 64 Sep 15 14:45 4 -> socket:[507938]
lrwx------ 1 u1 users 64 Sep 15 14:45 5 -> socket:[507939]
lrwx------ 1 u1 users 64 Sep 15 14:45 6 -> socket:[486323]
lrwx------ 1 u1 users 64 Sep 15 14:45 7 -> socket:[486324]
lrwx------ 1 u1 users 64 Sep 15 14:45 8 -> socket:[509999]
lrwx------ 1 u1 users 64 Sep 15 14:45 9 -> socket:[507941]

lsof -p pidソケットも見えます。

atIcoFoam 24376 u1  0r   CHR                1,3      0t0     1029 /dev/null
atIcoFoam 24376 u1  1u   CHR              136,3      0t0        6 /dev/pts/3
atIcoFoam 24376 u1  2w  FIFO                0,8      0t0   506122 pipe
atIcoFoam 24376 u1  3w   CHR                1,3      0t0     1029 /dev/null
atIcoFoam 24376 u1  4u  unix 0x0000000000000000      0t0   511127 socket
atIcoFoam 24376 u1  5u  unix 0x0000000000000000      0t0   511128 socket
atIcoFoam 24376 u1  6u  IPv4             510153      0t0      TCP *:37340 (LISTEN)
atIcoFoam 24376 u1  7u  IPv6             510154      0t0      TCP *:43305 (LISTEN)
atIcoFoam 24376 u1  8u  IPv4             512654      0t0      TCP hpclab.ws05:57696->hpclab.ws05:33141 (ESTABLISHED)
atIcoFoam 24376 u1  9u  IPv4             508030      0t0      TCP *:1027 (LISTEN)
atIcoFoam 24376 u1  10u  IPv6             508031      0t0      TCP *:1027 (LISTEN)
4

3 に答える 3

1

名前付き UNIX ドメイン名ソケット (AF_UNIX型付きソケット) だけにファイルが関連付けられています。

アップデート:

/proc/<process id>/fd/このようなファイルの名前は、このソケットのファイル記述子のプロセス固有の値を使用してディレクトリにリンクされます。

他のすべてのソケットは、ファイル システムに表現されていません。

于 2012-10-23T18:01:09.483 に答える
0

これにより、開いているファイルを一覧表示できます。

lsof -p PID
于 2012-10-23T17:41:05.600 に答える
0

これらの UNIX リッスン ソケットはありますか? はいと思います。なぜなら、それらが他のものであれば、あなたの質問は意味をなさないからです。

lsof通常、ソケットがバインドされているファイルシステム名を解決できます。

lsof -p pid
于 2012-10-23T17:41:38.423 に答える