プログラムI/Oモニタリング

プログラムI/Oモニタリング

複数のサブプロセスを生成するプログラムがあります。

このプログラムとそのサブルーチンがどのファイルを作成、削除、変更するかを知りたいです。

  • inotifywaitどのファイルがアクセスされているかを知らせることができますが、どのプロセスがそのファイルにアクセスしているかはわかりません。モニターを設定するには、ファイルを作成する場所を知っておく必要があります。

  • auditctlどのプロセスがファイルを変更したかを記録できますが、履歴を設定するにはファイルがどこにあるかを知る必要があります。

  • lsofすべてのファイルを表示しますが、リアルタイム追跡のための良い解決策ではないようです。

どのファイルが動作しているかを知らずに、プログラムのファイル動作を監視する機能はありますか?

ベストアンサー1

Linuxでは、strace次の種類のイベントを監視できます。

strace -f -p <PID> -e trace=file

Solarisではを使用できます。 Solaris 11にデフォルトでインストールされているdtraceDTraceToolkitツールを見てください。opensnoop/usr/dtrace/DTT/Bin/opensnoop

/usr/dtrace/DTT/Bin/opensnoop -p <pid>

おすすめ記事