プロセスが使用しているファイルを調べる方法


Unix系で、一般的に使用可能なfuserを使う
下記の様に使える。

# fuser /var/log/*

(実行例)
[root@db2node207 tmp]# /sbin/fuser /var/log/*
/var/log/boot.log:     622
/var/log/cron:         622
/var/log/maillog:      622
/var/log/messages:     622
/var/log/secure:       622
/var/log/spooler:      622


:の後にPIDが付いて出力されるファイルは、そのプロセスが使用している事が分かる。
無印の場合は、オープン中のファイル。eなどが付く場合は実行ファイルなどの様に識別できる。

因みに、上記の使用プロセスは、ps <pid>で調べることができる。

[root@db2node207 tmp]# ps 622
  PID TTY      STAT   TIME COMMAND
  622 ?        S      0:04 syslogd -m 0
最終更新:2007年10月17日 19:02