有关SIGCHLD信号的处理

hppyhjh 2002-04-02 09:36:35
(问题来自Unix network programming)
服务器进程设置了SIGCHLD的处理函数,此函数调用wait清除僵尸进程;且服务器进程为每一个连接fork一个子进程。
客户端与服务器端建立了5个TCP连接,然后客户端终止,5个连接几乎同时关闭,5个子进程几乎同时终止,在linux下,服务器进程总是处理了最后派生的2个子进程,而还剩3个僵尸子进程。
我想问的是,如果断续的,隔一段时间才关闭一个TCP连接,也就是内核断续地发给服务器进程SIGCHLD信号,那么wait是可以将5个僵尸子进程都处理掉的?(而不需要在循环中使用waitpid)
...全文
60 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

19,613

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧