
opensnoopでMac OS Xファイルシステムの使用状況とアクセスを監視する
opensnoop ユーティリティは、特定のアプリケーションがどのファイルにアクセスしているかなどの詳細を追跡するための優れたツールですが、opensnoop を使用してMac OS X のすべてのファイルシステム アクセスを監視することもできます。これを行うには、フラグを付けずにユーティリティを実行します。
sudo opensnoop
ルート パスワードの入力が求められ、その後すぐに、Mac OS X 内で行われているすべてのことを表示する大量のデータが表示されます。
表示されている情報の意味がわからないですか?以下の色分けされたガイドで、最も興味のある情報を確認できます。紫色はプロセスID、青色はプロセス名、赤色はファイルパスです。
一般的に、最も有用な情報は、プロセス名と、そのプロセスがアクセスしているファイルへのパスです。opensnoopに表示されるプロセスと、アクティビティモニターやタスクマネージャーに表示されるプロセスとの対応関係が分かります。
特定のファイルをフォローして、何がそのファイルにアクセスしているかを確認することもできます。
sudo opensnoop -f /path/to/file
あるいは、grepを使って特定のファイルやアプリに関連するものを追跡することもできます。例えば、ターミナルアプリやそれに関連するファイルに関連するものをすべて追跡したいとします。
sudo opensnoop | grep Terminal
以前にもご紹介しましたが、プロセス ID またはアプリ名を使用して特定のアプリケーションを追跡することもできます。
sudo opensnoop -n Terminal
非常に漠然とした問題をトラブルシューティングする場合や、コマンドライン経由で Mac OS X の背後で何が起こっているかを確認したい場合を除いて、情報が多すぎて困らないように、いくつかの詳細を指定して opensnoop を使用することをお勧めします。