特定のプロセスを実行しているファイル名を調べる

| コメント(0) | トラックバック(0)
あるプロセスがサーバに過大な負荷をかけているとき、その犯人と、原因のプログラムファイルを発見する一番早い(?)方法。


まずtopコマンドやpsコマンドで、そのプロセスのプロセス番号を調べる。

-------------------------------------------------------------------------------------------

$ su

# top

-------------------------------------------------------------------------------------------


プロセス番号がわかったら、

-------------------------------------------------------------------------------------------

# ls -l /proc/(プロセス番号)/exe

-------------------------------------------------------------------------------------------

として、実行ファイルのシンボリックリンクを参照する。
※エディタで直接/proc/(プロセス番号)/exe にアクセスしてもバイナリファイルなので見れません。


結果↓

------------------------------------------------------------------------------------------

lrwxrwxrwx 1 hoge.hoge 0 2010-01-27 05:23
/proc/プロセス番号/exe -> /home/●●/hoge/○○○

------------------------------------------------------------------------------------------

つまり「●●」が犯人で「○○○」が問題のファイル。



あとは犯人に警告するなりプロセスをkillするなりご自由に。

トラックバック(0)

トラックバックURL: http://www.igreks.jp/blog/mt-tb.cgi/397

コメントする