kidoOooOoooOOom

IT系で開発やってます

LinuxでプロセスのSIGTERMを待ち受ける

まず、プロセスをチェックするコマンドとしては ps や pstree を使っている。

ps auwx | grep hogehoge

pstree -lp

プロセスID = 9999 のプロセスを 正常に終了させたい場合は、kill -TERM を送る

kill -TERM 9999

9999 が正常に終了するのを待ち受ける。

PID=9999
while [[ ( -d /proc/$PID/status ) && ( -z "grep zombie /proc/$PID/status" ) ]]; do sleep 1; done

waitコマンドにプロセス番号を渡す方法もあるが、このプロセスが現在のシェルから起動された(子)プロセスでないものは対象にはできないので注意。

wait 9999 


はじめてUNIXで仕事をする人が読む本

はじめてUNIXで仕事をする人が読む本