クローンをpkill -fに設定

クローンをpkill -fに設定

ループで実行されるスクリプトがあります。 ./run_my_script を使用してコマンドラインからスクリプトを手動で簡単に起動できますが、時にはスクリプトが停止して再起動する必要がある場合があります。だからCtrl-Cを押して再起動しました。それでは、定期的にスクリプトを停止して再起動するcronを作成したいと思います。だから私のcronに次のように入力します。

00 * * * * pkill -f ./run_my_script && /bin/sleep 15 && ./run_my_script

これはうまくいきません。スクリプトは終了しますが再起動しないため、次のことを試してください。

00 * * * * pkill -f ./run_my_script
00 * * * * /bin/sleep 15 && ./run_my_script

これも機能しません。スクリプトを終了しますが、再起動しません。だから私は次のことを試みます:

00 * * * * pkill -f ./run_my_script
01 * * * * /bin/sleep 15 && ./run_my_script

そしてそれは素晴らしい作品です。問題は、シャットダウンと再起動の間に1分ではなく数秒しか必要ないということです。どうすればいいですか?

ベストアンサー1

pkill「1つ以上のプロセスが基準を満たしている」場合にのみ状態0で終了する。つまり、まだ./run_my_script実行されていない場合&&

pkill -f ./run_my_script && /bin/sleep 15 && ./run_my_script

残りの部分が機能しなくなります。

andの代わりにセミコロンを使用すると機能します。

pkill -f ./run_my_script ; /bin/sleep 15 && ./run_my_script

おすすめ記事