当前位置: 技术问答>linux和unix
crontab的core dump问题
来源: 互联网 发布时间:2016-10-29
本文导语: 本帖最后由 sir123456 于 2010-12-23 18:51:39 编辑 大家好,我是新手,向各位高手请教问题了。我有一个程序,如果手动执行,在程序异常退出时,能写出core文件,说明环境没有问题。但是如果同样的程序是被/etc/crontab中...
|
coredown跟crontab没什么关系的。
关于core文件设置google一下满都是:
3. 设置Core Dump的核心转储文件目录和命名规则
/proc/sys/kernel/core_uses_pid可以控制产生的core文件的文件名中是否添加pid作为扩展,如果添加则文件内容为1,否则为0
/proc/sys/kernel/core_pattern可以设置格式化的core文件保存位置或文件名,比如原来文件内容是core-%e
可以这样修改:
echo "/corefile/core-%e-%p-%t" > /proc/sys/kernel/core_pattern
将会控制所产生的core文件会存放到/corefile目录下,产生的文件名为core-命令名-pid-时间戳
以下是参数列表:
%p - insert pid into filename 添加pid
%u - insert current uid into filename 添加当前uid
%g - insert current gid into filename 添加当前gid
%s - insert signal that caused the coredump into the filename 添加导致产生core的信号
%t - insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间
%h - insert hostname where the coredump happened into filename 添加主机名
%e - insert coredumping executable name into filename 添加命令名
关于core文件设置google一下满都是:
3. 设置Core Dump的核心转储文件目录和命名规则
/proc/sys/kernel/core_uses_pid可以控制产生的core文件的文件名中是否添加pid作为扩展,如果添加则文件内容为1,否则为0
/proc/sys/kernel/core_pattern可以设置格式化的core文件保存位置或文件名,比如原来文件内容是core-%e
可以这样修改:
echo "/corefile/core-%e-%p-%t" > /proc/sys/kernel/core_pattern
将会控制所产生的core文件会存放到/corefile目录下,产生的文件名为core-命令名-pid-时间戳
以下是参数列表:
%p - insert pid into filename 添加pid
%u - insert current uid into filename 添加当前uid
%g - insert current gid into filename 添加当前gid
%s - insert signal that caused the coredump into the filename 添加导致产生core的信号
%t - insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间
%h - insert hostname where the coredump happened into filename 添加主机名
%e - insert coredumping executable name into filename 添加命令名
|
crontab里给的肯定是可执行程序的全路径名,你的可执行程序放在哪就在哪找
或者find试下
cd
find . -name core*
或者find试下
cd
find . -name core*
|
通过crontab调用的脚本默认是没有用户的所有的环境变量的
建议在脚本首行后添加 . ~/.bash_profile
建议在脚本首行后添加 . ~/.bash_profile