Apps

opensnoop でプロセスがファイルにアクセスする方法とタイミングを監視する

opensnoop でプロセスがファイルにアクセスする方法とタイミングを監視する

OS Xのターミナルopensnoopコマンドを使うと、プロセスがファイルシステムで何を行っているかを確認できます。試してみるには、ターミナルを起動し、アプリケーション、ファイルの使用状況、プロセスIDなどに基づいて監視する方法を学びましょう。


監視するアプリケーションを指定するには 2 つの方法があります。明らかに簡単なプロセス名を使用するか、プロセスの数値 ID を使用するかのいずれかです。

sudo opensnoop -n applicationName
Safari を追跡するには、次を使用します。

sudo opensnoop -n Safari

または、プロセス ID を使用することもできます。
sudo opensnoop -p PID

PID はプロセス ID です。ps コマンドと grep を使用してプロセス ID を取得することでこれを取得できます。
ps aux|grep iTunes

次に、結果の PID を opensnoop で使用します。
sudo opensnoop -p 4621

同様に、同じコマンドを使用して、特定のファイルにアクセスしているプロセスを監視できます。

sudo opensnoop -f filename

たとえば、/etc/hostsにアクセスしているものを確認します
sudo opensnoop -f /etc/hosts

opensnoopコマンドはこれよりもはるかに強力ですが、これらはコマンドを使用する強力かつ簡単な方法を2つ紹介しました。実は以前、Mac OS Xでのアプリケーションの使用状況の追跡について取り上げましたが、この件に関して別の質問があったので、ここでご紹介します。

OpenSnoop は lsof に似ています。lsof については、Mac 上のスパイウェアをチェックするときや、Mac で開いているすべてのインターネット接続を表示するときに以前に説明しました。