どのプロセスがファイルを生成するかを確認する方法は? [コピー]

どのプロセスがファイルを生成するかを確認する方法は? [コピー]

ファイルパスが与えられたら、どのプロセスがそのファイルを作成したか(および/または読み取り/書き込み)を確認するにはどうすればよいですか。

ベストアンサー1

これラソフ(複数の回答ですでに説明されている)コマンドは、実行時にどのプロセスにファイルが開いているかを示します。lsofほとんどすべてのUNIXバリアントで動作します。

lsof /path/to/file

lsof2マイクロ秒前に開き、1マイクロ秒前に閉じたファイルについてはお知らせしません。特定のファイルを監視し、そのファイルにアクセスするときに反応する必要がある場合は、別のツールが必要です。

事前に計画できる場合は、ファイルをロギングファイルシステムファイルシステムLoggedFSはヒューズ階層内のファイルへのすべてのアクセスを記録するスタックファイルシステム。ロギングパラメータは高度に設定可能です。ヒューズを使用できます。すべての主要大学。ファイルが作成されたディレクトリへのアクセスを記録する必要があります。提供されているサンプル構成ファイルから始めてください。このガイド

loggedfs -l /path/to/log_file -c /path/to/config.xml /path/to/directory
tail -f /path/to/log_file

多くの大学では他の監視施設も提供しています。 Linuxでは、比較的新機能を使用できます。 監査サブシステム。これに関する文献はあまりありません(ただし、Loggedfsに関するもの以上)。このチュートリアルまたは 珍しい はいそれともauditctlマニュアルページ。ここでは、デーモンが起動したことを確認してから、以下を実行すれば十分ですauditctl

auditctl -w /path/to/file

(以前のシステムではこれが必要だと思いますauditctl -a exit,always -w /path/to/file。)ログを見てください/var/log/audit/audit.log

おすすめ記事