服务器开发的一个小问题

软件和网站开发以及相关技术探讨
回复
leetking
帖子: 62
注册时间: 2014-10-28 14:53
系统: ubuntu-18.04-LTS

服务器开发的一个小问题

#1

帖子 leetking » 2016-04-09 20:22

问题如下:
服务器端管理进程(姑且这么叫)用accept阻塞,直到新客户端连接,然后fork到子进程里处理,如果子进程处理完了就通知管理进程,那么管理进程有两个事要做,1. 接受新客户链接, 2. 接受随机事情某个子进程退出。 管理进程如何实现这个功能呢?
目前试下类似如下代码:

代码: 全选

for (;;) {
    int neofd = accept();
    pid_t pid;
    pid = fork()
    if (0 == pid) {
        child_do();
    }
/*
*  但是父进程还要接受子进程退出的消息,
* 那个进程退出之类的
* waitpid();虽然支持非阻塞,但是不知道怎么用。
*/
}
希望大神提示下。
leetking
帖子: 62
注册时间: 2014-10-28 14:53
系统: ubuntu-18.04-LTS

Re: 服务器开发的一个小问题

#2

帖子 leetking » 2016-04-12 21:51

搞定了,谢谢大家。
用SIGCHLD信号
回复