lsofコマンドは聞いたことがあったが使ったことはなかった。
このように問題解決のために役立つコマンドを知っておかない手はないので調べた。
lsofコマンドはオープンされているファイルを表示してくれるコマンド。
オプションなしでlsofコマンドを実行すると大量に表示される。
syslogが開いているファイルは以下のように表示された。
[root@nobunaga]# lsof -c syslog
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
syslogd 2885 root cwd DIR 3,1 4096 2 /
syslogd 2885 root rtd DIR 3,1 4096 2 /
syslogd 2885 root txt REG 3,1 32156 131912 /sbin/syslogd
syslogd 2885 root mem REG 3,1 47396 228529 /lib/libnss_files-2.3.5.so
syslogd 2885 root mem REG 3,1 1521500 228516 /lib/tls/libc-2.3.5.so
syslogd 2885 root mem REG 3,1 112280 228506 /lib/ld-2.3.5.so
syslogd 2885 root 0u unix 0xcb41fdc0 6442 /dev/log
syslogd 2885 root 1w REG 3,1 1046978 34366 /var/log/messages
syslogd 2885 root 2w REG 3,1 1411 34525 /var/log/secure
syslogd 2885 root 3w REG 3,1 18176 32692 /var/log/maillog
syslogd 2885 root 4w REG 3,1 269641 32892 /var/log/cron
syslogd 2885 root 5w REG 3,1 0 34556 /var/log/spooler
syslogd 2885 root 6w REG 3,1 20574 32694 /var/log/boot.log
ポート80を使用しているプロセスは以下のように表示された。
[root@nobunaga]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
httpd 11974 root 3u IPv6 3484708 TCP *:http (LISTEN)
httpd 11977 apache 3u IPv6 3484708 TCP *:http (LISTEN)
(omit)