前言:回收子进程之前用了wait()和非阻塞模型,今天学了信号以后可以使回收机制更上一层楼,通过信号函数,父进程只需要做自己的事情,接收到信号后就触发信号函数. 信号处理函数可能会出现的bug: 1.受到停止信号也会触发SIGCHLD信号,使wait阻塞: 2.停止后继续也会触发信号,导致父进程阻塞: 3.调用sigaction(),人为发送一个SIGCHLD信号也会使父进程阻塞: 4.多个进程同时结束,可能造成回收不完全,产生僵尸进程(同中信号不排队): 解决方案的终极代码: //异步回收子进…