web-dev-qa-db-ja.com

crontabのエラーメッセージで「行19:12364 Killed」はどういう意味ですか?

私は毎日のcrontabタスクを受け取りました:

50 1 * * * sh /my_path/daily_task.sh > /tmp/zen_log 2>&1

このdaily_taskシェルスクリプトは、いくつかのpythonスクリプトを実行し、データファイルを生成します。

そして、それは二晩失敗します。しかし、朝に来たとき、pythonスクリプトを手動で実行して、データファイルを取得しました。または、日付を0 10 * * *にのみ設定する新しいcrontabを設定しました。このcrontab成功します。

だから昨日は、cronタスクに> /tmp/zen_log 2>&1を入れてエラーメッセージを表示します。

そして今朝、zen_logに次のエラーメッセージが表示されました。

/my_path/daily_task.sh: line 19: 12364 Killed /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1

いくつかのプロセスが殺されたようですか?しかし、これはline 19: 12364 Killedとはどういう意味ですか?


PS:

今日、1分前にpythonスクリプトを手動で実行すると、次のようになりました:/usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1 Killed

9
Zen

多くの場合、アプリケーションがkilledであるときは、常に/var/log/messagesファイル。カーネルがプロセスを強制終了しているかどうかを確認します。私の会社が主にJavaアプリケーションを使用しているため、開発者が公開することは非常に一般的であるため、(私の経験上)最も一般的なトリガーは常にメモリ不足(OOM)エラーが原因でしたOOMイベントをトリガーする不正なコード更新。

OSに利用可能なリソースが最も多いときにタスクをスケジュールすることが、おそらくPMほとんどの人がシステムジョブの課税をスケジュールしたい場合)ではなく、AMタイムスロットで成功する理由です。これに対する簡単な解決策は、システムリソースを増やす、コードに割り当てられるリソースを制限する、またはジョブがスケジュールされているときに移動して、競合しないようにします。

17
devnull