回答:
を使用するとpgrep
、自分のプログラムだけでなく他のプログラムと一致する可能性があります。正しいプログラムを確実に一致させたい場合は、pidof
代わりに使用してください。
start-stop-daemon
PIDファイルを使用することもできます。start-stop-daemon
プログラムが実行されているかどうかを確認し、必要に応じて起動します。これは、ほとんどのinitスクリプトで使用されているものです。
/lib/lsb/init-functions
、ほとんどのinitスクリプトがstart_daemon
やなどのラッパー関数を使用するために解析するライブラリにも興味があるかもしれませんpidofproc
。
[ -z `pidof program` ] || echo "program runing"
# or
[ -z `pidof program` ] && OtherProgram