見出し画像

macOS / 全てのFileアクセスを監視

巨大なプロジェクトをビルドした時
make をかけた時
PCが重い時
ウィルス対策ソフトウェアのアクセス状況を確認した時

など、どのファイルやディレクトリがアクセスされたかを完全把握する方法の一つに、macにデフォルトで入っている fs_usage が活用できます。

sudo fs_usage -w

指定したfileパターンだけ引っ掛けたい場合は

sudo fs_usage -w | grep "somefile"

など、パイプを使うと良いでしょう。


使用法: fs_usage [-e] [-w] [-f モード] [-b] [-t 秒数] [-R rawfile [-S 開始時間] [-E 終了時間]] [pid | cmd [pid | cmd] ...]

-e サンプルから指定されたプロセスのリストを除外します また、デフォルトでfs_usage自体も除外されます

-w 詳細な出力を強制します

-f モードに基づいた出力を行います
モード = "network" ネットワーク関連のイベントを表示します
モード = "filesys" ファイルシステム関連のイベントを表示します
モード = "pathname" パス名に関連するイベントのみ表示します
モード = "exec" 実行および生成イベントのみ表示します モード = "diskio" ディスクI/Oイベントのみ表示します
モード = "cachehit" キャッシュヒットも表示します

-b ディスクI/OイベントにBootCache情報を注釈として付けます(利用可能な場合)

-t タイムアウトを秒数で指定します(自動化ツールで使用します)

-R 処理する生のトレースファイルを指定します

-S -R が指定されている場合、マイクロ秒単位で開始点を選択します

-E -R が指定されている場合、マイクロ秒単位で終了点を選択します
pid サンプルするプロセスを選択します
cmd コマンド文字列に一致するプロセスを選択します
デフォルトでは(オプションなしで)出力から以下のプロセスが除外されます: fs_usage、Terminal、telnetd、sshd、rlogind、tcsh、csh、sh


いいなと思ったら応援しよう!