web-dev-qa-db-ja.com

Mac OS Xでファイルを使用しているプロセスを確認する

ファイルを追跡し、どのプロセスがそのファイルに触れているかを確認したいと思います。それは可能ですか?アクティビティモニターで開いているプロセスの一覧を表示できることは知っていますが、すぐに表示されるようになっていると思います。これは、フレームワークを使用しているため、デバッグバージョンの代わりにフレームワークのシステムバージョンが使用されているため、どのプロセスがそれに触れているかを確認したいからです。

87
JPC

lsofは開いているファイルを一覧表示しますが、瞬間的なタッチには少し厄介な場合があります(たとえば、lsofの実行時にファイルが開かない場合は表示されません)。

あなたの最善の策はfernLightningの fseventer.app になると思います。 「ナグウェア」であり、fsevents APIを(グラフィックで)リアルタイムで見ることができます。

86
Shaun

それは簡単です:Sudo fs_usage | grep [path_to_file]

82
spaceboy.cz

しかし、私は2分間グーグルを費やし、 ここにあなたの答え を見つけました。

$ lsof | grep [何でも]

[何でも]を探しているファイル名に置き換えます。これにより、どのプログラムがゴミ箱に入れようとしているファイルを必死に保持しているかを確認できます。そのプログラムを終了すると、ゴミ箱は空になります。

38

別のオプションは Sloth です。他の人が言及したLSOF用の無料のオープンソースGUIです。

13
cavalcade

より高速な方法は次のとおりです。

$ lsof [path_to_file]

このソリューションではrootパスワードは不要で、次の明確な結果が返されます。

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF     NODE NAME
Finder     497  JR7   21r   REG    1,2   246223 33241712 image.jpg
QuickLook 1007  JR7  txt    REG    1,2   246223 33241712 image.jpg
13
bontoJR