![Cron 偶尔会失败,并显示“孙子 #X 失败,退出状态为 3”](https://linux22.com/image/644990/Cron%20%E5%81%B6%E5%B0%94%E4%BC%9A%E5%A4%B1%E8%B4%A5%EF%BC%8C%E5%B9%B6%E6%98%BE%E7%A4%BA%E2%80%9C%E5%AD%99%E5%AD%90%20%23X%20%E5%A4%B1%E8%B4%A5%EF%BC%8C%E9%80%80%E5%87%BA%E7%8A%B6%E6%80%81%E4%B8%BA%203%E2%80%9D.png)
我有 cron 任务,但时不时会失败。在命令已启动的日志消息之后,就会出现grandchild #X failed with exit status 3
消息。
下次运行时,脚本正确完成。这种情况发生在具有不同运行周期的不同脚本上(从每分钟一次到每天一次的脚本)。似乎没有规律。
有什么建议么?
编辑:
我在 的 crontab 中运行了脚本strace
。问题是脚本因为以下原因被终止SIGBUS
:
--- SIGBUS (Bus error) @ 0 (0) ---
exit_group(3) = ?
但是,仍然不知道为什么会发生这种情况。
答案1
根据 Signal ( man 7 signal
)的手册页,这SIGBUS
意味着Bus error (bad memory access)
。由于问题是随机的或不容易 100% 重现,这意味着;
- Cron 任务正在调用随机失败的程序或脚本
- 存在内存问题,应检查
如果是前者(#1),则检查程序/脚本是否存在任何异常。但是,可以可能是 RAM 问题,因此您可能需要获取带有MemTest86并进行大约一小时的检查。