我每天都有一个 crontab 任务:
50 1 * * * sh /my_path/daily_task.sh > /tmp/zen_log 2>&1
这个daily_task shell 脚本将运行一些python 脚本并生成一个数据文件。
它失败了两个晚上。但是当我早上来的时候,手动运行python脚本,我得到了数据文件。或者我设置了一个新的 crontab,它只将日期设置为0 10 * * *
,并且这个 crontab 也成功了。
所以昨天,我放入> /tmp/zen_log 2>&1
了 cron 任务以获取一些错误消息。
今天早上,我在 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:
今天,一分钟前,当我手动运行 python 脚本时,我得到:
/usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1
Killed
dev*_*ull 21
通常,当应用程序正在运行时killed
,快速查看您的/var/log/messages
文件以查看内核是否正在终止进程总是一个好主意。最常见的触发器(根据我的经验)一直是由于内存不足 (OOM) 错误,因为我的公司主要使用 Java 应用程序,因此开发人员发布触发 OOM 事件的错误代码更新是很常见的.
当您的操作系统拥有最多可用资源时调度任务可能是它在 AM 时间段成功而不是在 PM 中成功的原因,因为大多数人喜欢安排繁重的系统作业。对此的简单解决方案是增加您的系统资源,限制分配给您的代码的资源,或者在您的作业安排时移动,以免它们发生冲突。
归档时间: |
|
查看次数: |
20923 次 |
最近记录: |