Cで書かれたスタブアプリケーションがあります。これで、このアプリケーションを定期的に、つまり毎日午前11時30分に実行したいと思います。使いたい予約されたことプロセスがありますが、どうすればいいかわかりません。助けてください。
私はやりすぎ予約されたことアプリケーションが正常に動作していることを定期的に確認してください。アプリケーションがクラッシュまたはハングした場合、予約されたこと一定時間内にアプリケーションを再起動できる必要があります。
答え1
Cronは、他のプロセスを処理するのではなく、スケジュールされた間隔でスケジュールされたジョブを実行するために使用されます。
あなたはできます:
ホストOS用の初期化スクリプトシステムなど、他のものを使用したり、シャットダウンする
inittab
と自動的に再生成されるカスタムアクションがある場合があります。または、定期的に実行されるシェルスクリプトの形式で何かを一緒に構成し、所定の
cron
チェックセットを使用してデーモンスクリプトが正しく実行されていることを確認し、実行後にクリーンアップされない場合は再起動 - 実行を実行します。
答え2
crontabファイルにエントリを作成するだけです。
$ crontab -e
それからあなたの入力に従って終了します。http://www.manpagez.com/man/5/crontab/
[email protected]
30 11 * * * /path/to/your/command
MAILTO
コマンドがSTDERRから出力を生成すると、このエントリを含む電子メールが届きます。
プロセスが停止していることを確認するのはより困難です。停止が何を意味するかを定義する必要があります。特定の時間より長く実行されますか?認識可能な動作を生成しますか?
後でいつでも2番目のプロセスまたはスクリプトを実行して、プロセスがまだ実行されていることを確認し、適切な処置を取ることができます。
答え3
クロニト(https://cronitor.io)はこの目的のために特別に作られたツールです。デフォルトでは、httpリクエストを使用してcronジョブ/スケジュールされたジョブの開始と終了を記録するトレースビーコンにまとめられています。
Cronitorを使用する利点の1つは、トレース要求をスクリプトとして作成し、すぐに失敗を報告する呼び出しを行うことができることです。この柔軟性により、アプリケーションが失敗を報告するようにラッパーを作成できます。そして失敗したらスクリプトを再起動してみてください。