RM-BLOG

IT系技術職のおっさんがIT技術とかライブとか日常とか雑多に語るブログです。* 本ブログに書かれている内容は個人の意見・感想であり、特定の組織に属するものではありません。/All opinions are my own.*

【UNIX】fuserコマンドメモ

fuserコマンドのメモ fuserコマンドは「ファイルに対して何らかの操作をしているプロセスを表示」するコマンド。 使い方はいたって単純で
fuser [ファイル名]
という感じである。 結果は↓みたいな感じの標準出力になる。
/home/test/test.log:      869o
この「869o」の部分が「何らかの操作をしているプロセス」のPID。 厳密には「869」の部分だけが該当する。(ケツになんで"o"がつくかは忘れた) これが基本的な使い方だが、 オプション未指定(デフォルト)だと「参照しかしていない」ようなプロセスも表示される。 →例えばログファイルに対いて、tail -fでただ眺めているだけなようなプロセスも表示される。 fuserの出番は得てして「なんかファイルが掴まれて書き込めねえ、誰が掴んでるんだこの野郎!」という場面で登場するので、 そのファイルに対して書込み中の(排他制御を行っている)プロセスが知りたくなる。 こういう場合は「-n」オプションを付けることでそのプロセスに限定して表示させることができる↓
fuser -n [ファイル名]
-nオプションのmanコマンドの説明文は
     -n        ファイルに対して非ブロッキング強制ロックを保持して
               いるプロセスだけを表示します。
となっている。なんとなくそれっぽい説明になっていることがわかる。