服务器端管理进程(姑且这么叫)用accept阻塞,直到新客户端连接,然后fork到子进程里处理,如果子进程处理完了就通知管理进程,那么管理进程有两个事要做,1. 接受新客户链接, 2. 接受随机事情某个子进程退出。 管理进程如何实现这个功能呢?
目前试下类似如下代码:
代码: 全选
for (;;) {
int neofd = accept();
pid_t pid;
pid = fork()
if (0 == pid) {
child_do();
}
/*
* 但是父进程还要接受子进程退出的消息,
* 那个进程退出之类的
* waitpid();虽然支持非阻塞,但是不知道怎么用。
*/
}