CRON ジョブは、以前に CRON が開始したプロセスを終了します。

CRON ジョブは、以前に CRON が開始したプロセスを終了します。

終了しない限り、終了しないbashスクリプトをバックグラウンドで実行するクローンジョブを作成する必要があります。 bashは約28時間実行を続ける必要があるプロセスを開始し、それを終了するには別のクローン操作が必要です。最初のクローンは毎朝0時に実行され、プロセスを開始します。 2番目のクローンは午前4時に実行され、前日に開始されたプロセスを終了し、今日実行中のプロセスを維持する必要があります。

私の検索によると、プロセスのpidをファイルに保存してから、2番目のcronがそれにアクセスできるようにする必要がありますが、どうすれば?クローンやバッシュから? bashスクリプトによって開始されたプロセスは終了するまで終了しないことを考慮すると、後続のコマンドは実行されますか?

編集:Ipor Sircerのソリューションは私が経験している特定の問題を解決しましたが、まだCRONがアクセスできる他のファイルにPIDをエクスポートする方法を知りたいです。

答え1

次のコマンドを使用すると、timeoutはるかに簡単です。

0 0 * * * timeout 28h /home/script.sh

PS。 crontabではフルパスを使用する必要があります。

関連情報