我有几个进程在 init 系统中运行。它们都是由进程 A 分叉的。
所以在我的初始化脚本中,我有这样的内容:
ulimit -c unlimited
cd /usr/bin/ && ./proc_A
proc_A 然后会 fork proc_B 和 proc_C 等
当 proc_A 导致段错误时,核心文件将转储到 /usr/bin 中。但 proc_B 和 proc_C 的情况并非如此。为什么?
实际上子进程做的第一件事是 chdir("/") 并且 root 是不可写的。谜团解开了。