linuxのlsofコマンドは、とても便利です。
ファイル名を指定すると、そのファイルを使っているコマンドが分かります。
プロセスID、プログラム名から、そのプロセスが使っているファイルを見たり、ポートをリスニングしているプログラムを見つけたりできます。
$ lsof . COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME bash 17151 ksaito cwd DIR 8,2 38 8429822 . lsof 17358 ksaito cwd DIR 8,2 38 8429822 . lsof 17359 ksaito cwd DIR 8,2 38 8429822 . ksaito@debian10:/tmp$ lsof -p 17151 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME bash 17151 ksaito cwd DIR 8,2 38 8429822 /tmp bash 17151 ksaito rtd DIR 8,2 4096 128 / bash 17151 ksaito txt REG 8,2 673748 132 /bin/bash bash 17151 ksaito mem REG 0,0 0 [heap] (stat: No such file or directory) bash 17151 ksaito mem REG 8,2 87976 10688456 /lib/ld-2.3.6.so bash 17151 ksaito mem REG 8,2 271668 10708416 /lib/libncurses.so.5.5 bash 17151 ksaito mem REG 8,2 9592 10688462 /lib/libdl-2.3.6.so bash 17151 ksaito mem REG 8,2 1091040 10688459 /lib/libc-2.3.6.so bash 17151 ksaito mem REG 8,2 1960224 4195633 /usr/lib/locale/locale-archive bash 17151 ksaito mem REG 8,2 26268 10688466 /lib/libnss_compat-2.3.6.so bash 17151 ksaito mem REG 8,2 68460 10688465 /lib/libnsl-2.3.6.so bash 17151 ksaito mem REG 8,2 34320 10688470 /lib/libnss_nis-2.3.6.so bash 17151 ksaito mem REG 8,2 38364 10688468 /lib/libnss_files-2.3.6.so bash 17151 ksaito mem REG 8,2 21584 12679763 /usr/lib/gconv/gconv-modules.cache bash 17151 ksaito 0u CHR 136,0 2 /dev/pts/0 bash 17151 ksaito 1u CHR 136,0 2 /dev/pts/0 bash 17151 ksaito 2u CHR 136,0 2 /dev/pts/0 bash 17151 ksaito 255u CHR 136,0 2 /dev/pts/0
Debian系であれば、インストールは簡単です。
$ sudo aptitude install lsof Password: パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 拡張状態情報を書き込んでいます... 完了 タスクの記述を読み込んでいます... 完了 タグのデータベースを構築しています... 完了 以下のパッケージが一時固定されています: e2fslibs e2fsprogs libblkid1 libcomerr2 libss2 libuuid1 以下の新規パッケージがインストールされます: lsof 更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 6 個。 212kB のアーカイブを取得する必要があります。展開後に 377kB のディスク領域が新たに消費されます。 拡張状態情報を書き込んでいます... 完了 取得:1 http://ftp.us.debian.org etch/main lsof 4.77.dfsg.1-3 [212kB] 212kB を 2s 秒でダウンロードしました (82.6kB/s) 未選択パッケージ lsof を選択しています。 (データベースを読み込んでいます ... 現在 33721 個のファイルとディレクトリがインストールされています。) (.../lsof_4.77.dfsg.1-3_arm.deb から) lsof を展開しています... lsof (4.77.dfsg.1-3) を設定しています ... $