#define SIG_KERNEL_COREDUMP_MASK (\
rt_sigmask(SIGQUIT) | rt_sigmask(SIGILL) | \
> rt_sigmask(SIGTRAP) | rt_sigmask(SIGABRT) | \
rt_sigmask(SIGFPE) | rt_sigmask(SIGSEGV) | \
> rt_sigmask(SIGBUS) | rt_sigmask(SIGSYS) | \
rt_sigmask(SIGXCPU) | rt_sigmask(SIGXFSZ) | \
> SIGEMT_MASK>> > > )
#define sig_kernel_coredump(sig)> siginmask(sig, SIG_KERNEL_COREDUMP_MASK)
在get_signal里面处理signal的时候,会调用sig_kernel_coredump判断是否需要coredump,然后do_coredump根据配置生成core。
coredump是在信号没被捕获的条件下生成,do_coredump后接着就是do_group_exit进程退出了