本文主要是介绍fork 和 sigchld 坑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近有个项目,一个deamon进程,一个worker进程。deamon 进程会捕获SIGCHLD信号如果worker进程down掉了,deamon会收到这个信号并且重新fork worker进程。
最近发现一个问题是 deamon进程fork了好几个worker进程。一度怀疑是不同的linux内涵对信号处理不同。后来我发现如果worker进程调用了system函数,system会fork一个子进程,这个子进程做完事情就退出了,导致deamon进程收到一次SIGCHLD信号。
这篇关于fork 和 sigchld 坑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!