ファイルを追跡し、どのプロセスがそのファイルに触れているかを確認したいと思います。それは可能ですか?アクティビティモニターで開いているプロセスの一覧を表示できることは知っていますが、すぐに表示されるようになっていると思います。これは、フレームワークを使用しているため、デバッグバージョンの代わりにフレームワークのシステムバージョンが使用されているため、どのプロセスがそれに触れているかを確認したいからです。
lsof
は開いているファイルを一覧表示しますが、瞬間的なタッチには少し厄介な場合があります(たとえば、lsofの実行時にファイルが開かない場合は表示されません)。
あなたの最善の策はfernLightningの fseventer.app になると思います。 「ナグウェア」であり、fsevents APIを(グラフィックで)リアルタイムで見ることができます。
それは簡単です:Sudo fs_usage | grep [path_to_file]
しかし、私は2分間グーグルを費やし、 ここにあなたの答え を見つけました。
$ lsof | grep [何でも]
[何でも]を探しているファイル名に置き換えます。これにより、どのプログラムがゴミ箱に入れようとしているファイルを必死に保持しているかを確認できます。そのプログラムを終了すると、ゴミ箱は空になります。
別のオプションは Sloth です。他の人が言及したLSOF用の無料のオープンソースGUIです。
より高速な方法は次のとおりです。
$ 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