我有一个C应用程序,它使用fork/exec生成孩子。我的spawn进程不停地运行,它使用unix管道创建一个日志文件。我想每24小时备份一次日志。为此我用了一个脚本。脚本完成后,我想终止并重新启动进程。到现在为止,一直都还不错。但可能有一种情况是,仍然有一个产卵的孩子活跃。在杀死并重新开始产卵过程之前,是否有可能与它们断绝关系?
通常,当父母被杀时,所有的孩子也会被立即杀死。
最佳答案
进程不只是在其父进程死亡时死亡。很可能,您的子进程正在接收一些信号(SIGHUP
?)不知为什么。
如果你想让你的孩子坚持下去,你需要找出这个信号是什么,然后在fork
之后忽略它。