ファイルを追跡して、どのプロセスがそのファイルにアクセスしているかを確認できるようにしたいと考えています。それは可能ですか?アクティビティ モニターで開いているプロセスのリストを確認できることは知っていますが、すぐに表示されるようになっていると思います。この理由は、フレームワークを使用していて、デバッグ バージョンではなくシステム バージョンのフレームワークが使用されていると思われ、どのプロセスがそれに触れているかを確認したいからです。
83823 次
5 に答える
108
それは簡単です:sudo fs_usage | grep [path_to_file]
于 2011-11-30T01:08:30.423 に答える
95
lsof
開いているファイルが一覧表示されますが、一時的に触れると少し厄介になる可能性があります(たとえば、lsofの実行時にファイルが開いていない場合、ファイルは表示されません)。
あなたの最善の策はfernLightningのfseventer.appだと思います。これは「ナグウェア」であり、fsevents APIをリアルタイムで(グラフィックで)監視できます。
于 2011-11-29T20:38:18.997 に答える
43
しかし、私は2分間グーグルをして、ここであなたの答えを見つけました。
$ lsof | grep[何でも]
[何でも]が探しているファイル名に置き換えられます。これにより、どのプログラムがゴミ箱に入れられるファイルを必死に保持しているかを確認できます。そのプログラムを終了すると、ゴミ箱は空になります。
于 2011-11-29T20:26:24.217 に答える
20
より速い方法は次のとおりです。
$ 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
于 2013-11-01T08:40:33.090 に答える