読者です 読者をやめる 読者になる 読者になる

pidファイルの管理をする

unix

pgrep -F pidfileオプションを使うと、pidfileを開いて、その中にあるプロセスIDが存在するか調べ、存在している場合には、0で終了してくれるようだ。

なので、起動スクリプトとかで、pidfileの存在チェックとかをするときには、

   if test -e $PIDFILE && pgrep -F $PIDFILE > /dev/null; then

       restart

   fi

とか書いてやれば、マシンがハングアップとかして、正常に終了しなくて、pidfileが残っているがファイル内にあるプロセスIDはもういない場合にrestartをしても悲しいことにならずにすむ。