GNU/Linux >> Linux の 問題 >  >> Linux

ファイルを作成しているプロセスを特定する方法は??

この質問にはすでに回答があります :特定のファイルを作成したプログラムまたはスクリプトを見つけることは可能ですか?

(6つの回答)
4年前に閉鎖されました。

ファイルパスが与えられた場合、どのプロセスがそれを作成するか(および/またはファイルの読み取り/書き込み)をどのように判断できますか?

承認された回答:

lsof コマンド(すでにいくつかの回答で言及されています)は、実行時にファイルが開いているプロセスを示します。 lsof ほぼすべてのUNIXバリアントで利用できます。

lsof /path/to/file

lsof 2マイクロ秒前に開かれ、1マイクロ秒前に閉じられたファイルについては説明しません。特定のファイルを監視し、アクセス時に対応する必要がある場合は、さまざまなツールが必要です。

少し前もって計画を立てることができれば、ファイルを LoggedFSに置くことができます。 ファイルシステム。 LoggedFSは、階層内のファイルへのすべてのアクセスをログに記録するFUSEスタックファイルシステムです。ロギングパラメータは高度に設定可能です。 FUSEはすべての主要なユニスで利用できます。ファイルが作成されたディレクトリへのアクセスをログに記録する必要があります。提供されているサンプル構成ファイルから始めて、このガイドに従って微調整します。

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のログを監視します 。


Linux
  1. Linux でディスクに書き込みを行っているプロセスを特定する方法

  2. プロセスが lxc/Docker 内で実行されているかどうかを判断する方法は?

  3. Linuxでファイルを使用しているプロセスを見つける方法は?

  1. スワップを使用しているプロセスを知るにはどうすればよいですか?

  2. javaを使用している実行中のプロセスを特定するにはどうすればよいですか?

  3. ファイルを変更しているプロセスを見つける

  1. Pidのないプロセスを特定する方法は?

  2. .net でファイルシステムが大文字と小文字を区別するかどうかを確認するにはどうすればよいですか?

  3. 実行中のプロセスが属するグループを特定する