有关SIGCHLD信号的处理
(问题来自Unix network programming)
服务器进程设置了SIGCHLD的处理函数,此函数调用wait清除僵尸进程;且服务器进程为每一个连接fork一个子进程。
客户端与服务器端建立了5个TCP连接,然后客户端终止,5个连接几乎同时关闭,5个子进程几乎同时终止,在linux下,服务器进程总是处理了最后派生的2个子进程,而还剩3个僵尸子进程。
我想问的是,如果断续的,隔一段时间才关闭一个TCP连接,也就是内核断续地发给服务器进程SIGCHLD信号,那么wait是可以将5个僵尸子进程都处理掉的?(而不需要在循环中使用waitpid)