はじめに
Linuc201の勉強して気づいたけど、
普段、特定のファイルをつかんでいるプロセスを把握するためにlsofを使っていたけど
fuserでも同じことができるそうだ。
「あれ?同じことできるコマンドが2つあるの?」って思って調べることにした。
fuser=ファイルが主、lsof=プロセスが主
実際に比較してみたらよくわかった。
↓↓は、/var/log/audit/audit.log を参照しているプロセスはなんだろな?って
お題でそれぞれ実行したときの結果の比較。
fuserの見せ方は「"audit.log"を参照しているプロセスは”auditd”です。」って感じだけど
lsofは、「"auditd"は"audit.log"を参照しています」ってなってる。
なので、「誰かがファイルをつかんでいるから削除できない、ってときに使うのが"fuser"」で
「特定のプロセスがつかんでいるファイルはなんだろな?ってときに使うのが"lsof"」。
仕事ではlsofを使うのは、「とりあえず何らかの理由でつかまれているファイル全部リストアップして怪しいプロセスを探そう」って感じで
いつもまるっと棚卸的な感じで進めてるのでオプションも考えずにlsofを実行するだけで結果が出るので何も考えずに済んで楽だから使っていることに気づいた。
fuserの場合は「このファイルなんで削除できないのー?みたいなとき」なので、バグ探しとかに向いている気がする。
結局、使い方の問題なんだなってことはわかった。(当たり前だけど…)
~おしまい~