web-dev-qa-db-ja.com

cronジョブのタイムアウトの設定

Ubuntu Linux cron(Vixie cron?)は、ジョブのタイムアウト設定をサポートしていますか?

具体的には、それまでに正常に終了しない限り、プロセスはX秒後に強制終了されます。

ネットワーク接続やさまざまな問題が原因でタスクがハングアップする場合がありました。手動でクリーンアップして強制終了しない限り、プロセスは永久にハングアップします。

11
Mikko Ohtamaa

Ubuntuでは、coreutilsの一部であるコマンド timeout が存在します。このように使用して、タイムアウトを設定できます。古いバージョンのDebian/Ubuntuはこのコマンドをビルドおよび含めませんでしたが、インストールできる同等のtimeoutパッケージがあります。

# puppet shouldn't take more then 40 minutes!
47 * * * * root /usr/bin/timeout 2400 /usr/bin/puppet agent ...
26
Zoredache