0

Linux のプロセス空間 (疑似ファイルシステム) に関する情報を取得しようとしています。

サーバーで長時間スタックしているプロセスはほとんど見つかりませんが(問題ありません)、そのプロセスに対応するprocフォルダーを確認すると、次の情報が見つかり、見つけるのは非常に興味深いものでした(太字のデータ) lrwxrwxrwx 1 rmail rmail 0 Aug 1 16:11 exe -> /usr/local/bin/geneliaTesting (削除済み)

dr-xr-xr-x 2 rmail rmail 0 Aug  1 16:19 attr
-r-------- 1 rmail rmail 0 Aug  1 16:19 auxv
-r--r--r-- 1 rmail rmail 0 Aug  1 16:24 cmdline
-rw-r--r-- 1 rmail rmail 0 Aug  1 16:19 coredump_filter
-r--r--r-- 1 rmail rmail 0 Aug  1 16:19 cpuset
lrwxrwxrwx 1 rmail rmail 0 Aug  1 16:11 cwd -> /home8
-r-------- 1 rmail rmail 0 Aug  1 16:19 environ
lrwxrwxrwx 1 rmail rmail 0 Aug  1 16:11 exe -> /usr/local/bin/geneliaTesting (deleted)
dr-x------ 2 rmail rmail 0 Aug  1 16:11 fd
-r--r--r-- 1 rmail rmail 0 Aug  1 16:19 io
-r-------- 1 rmail rmail 0 Aug  1 16:19 limits
 .....   and some other info.

バイナリが存在し、他のプロセスでも継続的に使用されています...誰かアイデアはありますか??

前もって感謝します。

4

2 に答える 2

1

これは実行中のプロセスであり、その実行可能ファイルは実行中にストレージ デバイスから削除されました。

于 2012-08-01T12:11:12.867 に答える
0

lsof .. pipe to less を使用して、それを読み取れるようにしてみてください...しかし、これにより、開いているすべてのファイル/ソケットがリストされます(-nを使用すると、名前解決が削除され、ネットワークソケット逆引きDNSなどでこのコマンドを完了するのに時間がかかります)

lsof -n | less

その後、おそらくプロセスを検索できます

削除された部分が表示された場合..おそらく本当の可能性がありますが、何かがiノードを開いているため、まだ実行されています

プロセスID(pid)が見つかった場合は、内部を見ることができます

ls /proc/PID_NUMBER/fd/

もしあなたがそこにそれを見たら、あなたはそれからコピーを引き出すことができます

cp /proc/PID_NUMBER/fd/FD_NUMBER /tmp/copy_of_that_in_memory_file

次に、それを分析できます..おそらく文字列などを試してみませんか?ファイルの種類などを決定する

ファイル /tmp/copy_of_that_in_memory_file

その上で文字列を使用します

strings /tmp/copy_of_that_in_memory_file | less

私はそれが何であるかを知っているとは言えません...

strace は、pid がわかれば、何をしているのかを知るのに役立ちます.. -f を使用して、開いている子を追跡します..

strace -fp PID_NUMBER
于 2017-05-09T16:26:00.400 に答える