我在MicroZed上运行Ubuntu 15.04,我正在执行一个从crontab脚本中取消引用空指针的程序。注意:我有意尝试创建核心转储。
问题是,当我从命令行运行程序时,核心转储按预期生成,但是当从crontab运行时,我找不到任何预期位置的文件。
关于核心转储是否真正被创建的任何想法,如果是,在哪里?
答案 0 :(得分:1)
cronjob在/bin/sh
下的有限环境中运行。可能发生的是默认的核心转储大小设置为零。
我相信这可以在/etc/security/limits.conf
中看到和配置,但检查这个的最简单方法是运行以下cronjob:
* * * * * ulimit -a > ~/cron.ulimit.txt
如果文件~/cron.ulimit.txt
表示核心文件大小为zero blocks
,则cron-job将永远不会生成核心文件。
您可以通过运行包装脚本wrapper
来创建核心文件,该脚本设置核心文件大小的ulimit。例如
#!/usr/bin/env bash
ulimit -c unlimited
/path/to/binary
然后可以将此脚本作为cronjob运行。