当前位置: 技术问答>linux和unix
几个关于core的问题,很简单,盼赐教
来源: 互联网 发布时间:2015-12-08
本文导语: 1、如何打开/关闭系统写core的配置 2、core是不是都出现在可执行文件相同的目录下面 3、是不是发生Segmentation fault的时候都会有core(当然已经打开core),例如delete一个悬空指针是不是一定会出core 4、有没有什么情况下程序非...
1、如何打开/关闭系统写core的配置
2、core是不是都出现在可执行文件相同的目录下面
3、是不是发生Segmentation fault的时候都会有core(当然已经打开core),例如delete一个悬空指针是不是一定会出core
4、有没有什么情况下程序非法中止而不出core的
|
1.如何打开/关闭系统写core的配置
答:打开$ulimit -c ulimited 关闭$ulimit -c 0
2.core是不是都出现在可执行文件相同的目录下面
答:是的
3.是不是发生Segmentation fault的时候都会有core(当然已经打开core),例如delete一个悬空指针是不是一定会出core
答:是的
4.有没有什么情况下程序非法中止而不出core的
答:有,程序终止不出core的情况如下(下面都会使进程终止,这些是所有情况)
a)进程的控制终端挂起时
b)前台进程被键盘中断时(Ctrl+c)
c)进程被信号9Kill时
d)TCP通信中,对端socket已关闭,你的socket仍然向对端发送时
e)你的进程收到alarm时钟信号(14)时(未处理)
f)进程被信号15所终止
g)进程收到未处理的信号用户信号10,12时
h)收到未处理的信号--I/O操作ready信号29时(不是POSIX标准,sysV=SIGPOLL,4.2BSD=SIGIO,linux=Both of them)
i)模仿时钟到期(收到SIGPROF)
j)虚拟时钟到期(收到SIGVTALRM)
k)收到SIGEMT=7(不是POSIX标准,所以linux现在还没有它,但出现在大部分unix机器上)
l)收到SIGSTKFLT=16,表示x86的数学协处理器堆栈发生错误(其它体系结构没有该信号,因为没有math coprocessor)
m)电源失败SIGPWR=29(不是posix标准)
n)收到从32-63的未处理的实时信号(32-34可能被linuxthread处理)
答:打开$ulimit -c ulimited 关闭$ulimit -c 0
2.core是不是都出现在可执行文件相同的目录下面
答:是的
3.是不是发生Segmentation fault的时候都会有core(当然已经打开core),例如delete一个悬空指针是不是一定会出core
答:是的
4.有没有什么情况下程序非法中止而不出core的
答:有,程序终止不出core的情况如下(下面都会使进程终止,这些是所有情况)
a)进程的控制终端挂起时
b)前台进程被键盘中断时(Ctrl+c)
c)进程被信号9Kill时
d)TCP通信中,对端socket已关闭,你的socket仍然向对端发送时
e)你的进程收到alarm时钟信号(14)时(未处理)
f)进程被信号15所终止
g)进程收到未处理的信号用户信号10,12时
h)收到未处理的信号--I/O操作ready信号29时(不是POSIX标准,sysV=SIGPOLL,4.2BSD=SIGIO,linux=Both of them)
i)模仿时钟到期(收到SIGPROF)
j)虚拟时钟到期(收到SIGVTALRM)
k)收到SIGEMT=7(不是POSIX标准,所以linux现在还没有它,但出现在大部分unix机器上)
l)收到SIGSTKFLT=16,表示x86的数学协处理器堆栈发生错误(其它体系结构没有该信号,因为没有math coprocessor)
m)电源失败SIGPWR=29(不是posix标准)
n)收到从32-63的未处理的实时信号(32-34可能被linuxthread处理)
|
http://blog.csdn.net/fytzzh/archive/2006/08/03/1013568.aspx