#navi(../)
* ファイルを使用しているプロセスを特定する・fuser [#y6fa9ebe]
fuserコマンドを使ってファイルを使用しているプロセスを特定する方法を以下に記します。~
同じ結果となる別コマンドについては、関連記事・関連資料に公開していますので活用してください。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事・関連資料 [#q8862c1a]
-[[ソケットを使用しているプロセスを特定する・fuser>逆引きUNIXコマンド/ソケットを使用しているプロセスを特定する・fuser]]
-[[プロセスIDから使用しているファイルディスクリプタの情報を取得する>逆引きUNIXコマンド/プロセスIDから使用しているファイルディスクリプタの情報を取得する]]
-[[プロセスがオープンしているファイルを調べる方法>逆引きUNIXコマンド/プロセスがオープンしているファイルを調べる方法]]
-[[プロセスのファイルのありかを調べる方法>逆引きUNIXコマンド/プロセスのファイルのありかを調べる方法]]
-[[プロセスの詳細な情報を取得する方法>逆引きUNIXコマンド/プロセスの詳細な情報を取得する方法]]
* fuserを使ってファイルから使用しているプロセスを特定する [#lc345a14]
OpenOffice.orgのCalcファイル(fuser-test.ods)を指定しfuserを実行した例です。~
fuserコマンドを実行したOSはCentOS5になります。~
また、一般ユーザ権限では、/sbinにPATHが通っていないので、/sbin/fuserとフルパスでfuserコマンドを実行しています。
fuserコマンドに-aオプションとファイルを指定し実行したときの出力です。~
プロセスIDが特定できました。
$ /sbin/fuser -a ./fuser-test.ods
fuser-test.ods: 25816
特定したプロセスIDをpsコマンドで確認すると、openoffice.orgのcalcが使用しているのが確認できます。
$ ps 25816
PID TTY STAT TIME COMMAND
25816 ? Sl 0:01 /usr/lib64/openoffice.org3/program/scalc.bin -calc
上記と同じ動作を-vオプションを追加しfuserコマンドを実行したときの出力です。
$ /sbin/fuser -av $HOME/fuser-test.ods
USER PID ACCESS COMMAND
/home/sakura/fuser-test.ods:
sakura 25816 F.... scalc.bin
以上、fuserコマンドをつかって指定したファイルがどのプロセスが使用しているかを特定する方法でした。~
上記の関連記事・関連資料には、同一の事を別のコマンドで実現する方法も公開していますのでご活用ください。
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)