X時間からY時間までプログラムを実行する最も簡単な方法は何ですか?

X時間からY時間までプログラムを実行する最も簡単な方法は何ですか?

成功するまで夜(たとえば、23:00~7:00、しかしそれ以降ではない)に実行したい失敗する可能性のあるプロセスがあります。

考えられる解決策は次のとおりです。

  1. ヘルパースクリプトを開始するには、23:00にクローンジョブを追加します。
  2. ヘルパースクリプト内で成功するまでプロセスを再試行するバックグラウンドサブシェルを実行します。
  3. ヘルパースクリプト自体は、時間が1分ごとにまだ6:59未満であることを確認し、それより遅い場合はサブシェルとすべてのサブシェルを終了します。

しかし、コンピュータが23:00に終了し、23:05に起動すると失敗するため、bashを使用した複雑なプロセス管理が必要になり、毎分目を覚ますファイルをロックする必要があるため、通常はエラーが発生しやすいアプローチです.方法。

そのようなタスクをより簡単に定義して実行できるようにする特別なソフトウェアや類似のソフトウェアはありますか?

ベストアンサー1

1つの可能なアプローチは、プログラムを5分ごとに実行することです(たとえば)。最初の実行で実行中のプロセスのフラグでファイルを生成し、フラグがあると新しい実行が終了します。また、プログラムが成功するとフラグを付けて追加ファイルを生成し、2番目のファイルがある場合はプログラムを実行しません。プログラムが成功または失敗した場合は、最初のファイルを削除することを忘れないでください。

07:00にcronを実行してプログラムを終了/停止します(そして成功ファイルフラグがある場合は削除)。

おすすめ記事