crontab 错误消息中的“第 19 行:12364 Killed”是什么意思?

Zen*_*Zen 13 bash cron

我每天都有一个 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 中成功的原因,因为大多数人喜欢安排繁重的系统作业。对此的简单解决方案是增加您的系统资源,限制分配给您的代码的资源,或者在您的作业安排时移动,以免它们发生冲突。