回答:
そのプログラムは( "List open files")です。lsof
ターミナルを開いてを入力するだけで、開いているlsof
すべてのファイルの膨大なリストを取得できます。代わりに、次のようにして1つのコマンドに制限します。
lsof -c gnome-terminal
次のように入力して、検索を特定のディレクトリに制限することもできます。
lsof -c gnome-terminal -a +D /tmp
または、どのアプリケーションがそれを開いたかなど、1つの特定のディレクトリにあるすべての開いているファイルをリストします。
lsof /dev/urandom
一部のプロセスはスーパーユーザーrootによって開始されることsudo
に注意してください。そのようなプロセスのオープンファイルに関する詳細情報を取得するには、コマンドの前に置く必要がある場合があります。
検索を絞り込むために、grep
特定の行を指定できます。
lsof /dev/urandom | grep chrome
FD
出力の(ファイル記述子)列には、ファイルを開くプログラムの目的に関する情報が表示されます(必ずしも現時点でファイルに何が起きているかはわかりません)。
r
ファイルが読み取り用に開かれていることを意味します
w
ファイルが書き込み用に開かれていることを意味します
u
ファイルが読み取りと書き込みの両方のために開かれていることを意味します
詳細については、マニュアルページ(man lsof
)を参照してください。また、ファイルやディレクトリを検索する必要がある場合は、Linux Filesystem Hierarchy Standardが非常に役立ちます。
完全なオーバーキルオプションですが、リアルタイムで機能するオプションとして、inotifyを使用できます。
sudo inotifywait -m -r /
これは大量のメモリを消費し、セットアップに時間がかかることに注意してください。マンページが言うように:
-r, --recursive
Watch all subdirectories of any directories passed as arguments.
Watches will be set up recursively to an unlimited depth. Sym‐
bolic links are not traversed. Newly created subdirectories
will also be watched.
Warning: If you use this option while watching the root direc‐
tory of a large tree, it may take quite a while until all ino‐
tify watches are established, and events will not be received in
this time. Also, since one inotify watch will be established
per subdirectory, it is possible that the maximum amount of ino‐
tify watches per user will be reached. The default maximum is
8192; it can be increased by writing to /proc/sys/fs/ino‐
tify/max_user_watches.
これはまた、どのプロセスがファイルを混乱させているかを教えてくれませんが、それが起こったときに変更を識別するのに役立つかもしれません。「-e open」を使用すると、非常にビジーなシステムでのノイズの一部を減らすことができます。