port <-> pid for Solaris ― 2008年09月06日 03時24分38秒
pfiles は基本的にプロセスのファイルディスクリプタを調べるコマンドの様だ。
% pfiles 20119
20119: bash
Current rlimit: 256 file descriptors
0: S_IFCHR mode:0620 dev:118,112 ino:207660 uid:2111 gid:7 rdev:24,919
O_RDWR
1: S_IFCHR mode:0620 dev:118,112 ino:207660 uid:2111 gid:7 rdev:24,919
O_RDWR
2: S_IFCHR mode:0620 dev:118,112 ino:207660 uid:2111 gid:7 rdev:24,919
O_RDWR
3: S_IFDOOR mode:0444 dev:315,0 ino:42609 uid:0 gid:0 size:0
O_RDONLY|O_LARGEFILE FD_CLOEXEC door to nscd[335]
255: S_IFCHR mode:0620 dev:118,112 ino:207660 uid:2111 gid:7 rdev:24,919
O_RDWR FD_CLOEXEC
ネットワークに接続されていると、以下のような出力がある。
10557: ...
Current rlimit: 1024 file descriptors
,,,
5: S_IFSOCK mode:0666 dev:310,0 ino:47334 uid:0 gid:0 size:0
O_RDWR
sockname: AF_INET 0.0.0.0 port: 58266
6: S_IFSOCK mode:0666 dev:310,0 ino:24707 uid:0 gid:0 size:0
O_RDWR FD_CLOEXEC
sockname: AF_INET 127.0.0.1 port: 58270
peername: AF_INET 127.0.0.1 port: 16001
7: S_IFSOCK mode:0666 dev:310,0 ino:24707 uid:0 gid:0 size:0
O_RDWR FD_CLOEXEC
sockname: AF_INET 127.0.0.1 port: 58273
システムの問題点を探している時に、ポート番号とプロセス番号の対応が判るのは、強力な助けになる。
$ sh -c 'for pid in `ps -aeo pid | tail +1`; do pfiles $pid; done'
これで全てのプロセスが表示されるので、less に渡して使っている。
最近のコメント