プロセスが実行されているかどうかを確認し、実行されていない場合は起動する最もエレガントな方法は?


8

私はこれをbashで行うためのさまざまな方法をいじくり回してきましpgrep program > /dev/null || programたが、これを行うには最も短い/最もエレガントな方法であることがわかりました。これより良い方法はありますか?

回答:


9

を使用するとpgrep、自分のプログラムだけでなく他のプログラムと一致する可能性があります。正しいプログラムを確実に一致させたい場合は、pidof代わりに使用してください。

start-stop-daemonPIDファイルを使用することもできます。start-stop-daemonプログラムが実行されているかどうかを確認し、必要に応じて起動します。これは、ほとんどのinitスクリプトで使用されているものです。


start-stop-daemonのmanファイルを確認すると、見栄えが良いです。洞察をありがとう!
10

1
または/lib/lsb/init-functions、ほとんどのinitスクリプトがstart_daemonやなどのラッパー関数を使用するために解析するライブラリにも興味があるかもしれませんpidofproc
ℝaphink

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.