当前位置: 技术问答>linux和unix
无法生成core文件
来源: 互联网 发布时间:2017-03-21
本文导语: ulimit -c 已经是无限制了,其他程序可以生成core,唯独这个挂掉了不会生成core,这个程序有2个进程,当子进程挂掉了,父进程会产生新的子进程。而且我也把suid_dumpable设置成1了。 求指导! | ...
ulimit -c 已经是无限制了,其他程序可以生成core,唯独这个挂掉了不会生成core,这个程序有2个进程,当子进程挂掉了,父进程会产生新的子进程。而且我也把suid_dumpable设置成1了。 求指导!
|
在下列条件下不产生core文件:
( a )进程是设置-用户-ID,而且当前用户并非程序文件的所有者;
( b )进程是设置-组-ID,而且当前用户并非该程序文件的组所有者;
( c )用户没有写当前工作目录的许可权;
( d )文件太大。core文件的许可权(假定该文件在此之前并不存在)通常是用户读/写,组读和其他读。
( a )进程是设置-用户-ID,而且当前用户并非程序文件的所有者;
( b )进程是设置-组-ID,而且当前用户并非该程序文件的组所有者;
( c )用户没有写当前工作目录的许可权;
( d )文件太大。core文件的许可权(假定该文件在此之前并不存在)通常是用户读/写,组读和其他读。
|
其实我这里也这样, 同事写的scheduler负责维护子进程池, 结果不出core了。
|
我所有4个条件都满足,就是没core。
|
原来 core文件也有不能生成时~~
|
core文件的产生是由于接收到unix的信号造成的,如果实在不知道原因的话,你可以从这方法考虑一下。
|
windows平台的话有几个DUMP写不出来的情况(堆栈溢出、挂在非主线程里也有可能)不知道linux是否也类似。