#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)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS