日期:2014-05-16  浏览次数:20796 次

无法生成core文件
ulimit  -c 已经是无限制了,其他程序可以生成core,唯独这个挂掉了不会生成core,这个程序有2个进程,当子进程挂掉了,父进程会产生新的子进程。而且我也把suid_dumpable设置成1了。  求指导!

------解决方案--------------------
其实我这里也这样, 同事写的scheduler负责维护子进程池, 结果不出core了。
------解决方案--------------------
在下列条件下不产生core文件:
( a )进程是设置-用户-ID,而且当前用户并非程序文件的所有者;
( b )进程是设置-组-ID,而且当前用户并非该程序文件的组所有者;
( c )用户没有写当前工作目录的许可权;
( d )文件太大。core文件的许可权(假定该文件在此之前并不存在)通常是用户读/写,组读和其他读。

------解决方案--------------------
我所有4个条件都满足,就是没core。
------解决方案--------------------
原来 core文件也有不能生成时~~
------解决方案--------------------
core文件的产生是由于接收到unix的信号造成的,如果实在不知道原因的话,你可以从这方法考虑一下。
------解决方案--------------------
windows平台的话有几个DUMP写不出来的情况(堆栈溢出、挂在非主线程里也有可能)不知道linux是否也类似。