system management
1753359 メンバー
5225 オンライン
108792 解決策
新規ポスト

psで出力されるプロセスについて

 
kudou568
時折のアドバイザー

psで出力されるプロセスについて

毎々、お世話になっております。

psにて特定のプロセスでgrepし、PIDを拾ってkillするスクリプトがあります。以下のような感じです。(csh)

set PKANSI = `ps -e | grep defunctkansi | grep -v grep | wc -l`

if ( $PKANSI > 0 ) then

set PKANSI_PID = `ps -e | grep defunctkansi | grep -v grep | awk -F" " '{print $1}'`

kill $PKANSI_PID

endif

スクリプトはこの後もいろいろ処理を行うのですが、極稀に途中で終了してしまっているときがあります。

いろいろ検証した結果、おそらく、"set PKANSI_PID・・・"のところで実際は1個しかないはずのプロセスが

2個表示され(同じ物)、killするときに2個のうち1個はないよって怒られ、そこで終了しているようです。

何故2個表示されるのでしょうか?

どなたかご存知であればご教授お願いいたします。