当前位置: 技术问答>linux和unix
关于多进程问题,请各位兄弟指点!
来源: 互联网 发布时间:2015-07-02
本文导语: 大家好,我现在对于多进程有些问题,请各位兄弟指点! 我现在做了一个服务器程序,需要来一个客户端请求就处理一个 应该进程多进程处理,但是对于多进程中的父进程要等待子进程,在后台查看的时候 只有两个进程,一...
大家好,我现在对于多进程有些问题,请各位兄弟指点!
我现在做了一个服务器程序,需要来一个客户端请求就处理一个
应该进程多进程处理,但是对于多进程中的父进程要等待子进程,在后台查看的时候
只有两个进程,一个父进程,一个子进程,如何才能做到接到一个客户端请求就启动一个进程,在客户端请求很多的情况下,就是不让父进程在启动一个子进程后,不去等待
,但是要保证没有僵死进程,怎么写代码,请大家发表意见,帮我解决,很急!
代码如下:
while(1)
(
memset(&addr_client, 0, sizeof(addr_client));
inaddrlen = sizeof(addr_client);
sockClient = accept(socklisten,(struct sockaddr*)(&addr_client),&inaddrlen);
if(sockClient==-1)
{
WriteLogFile("Error on accept of socklisten.n");
}
pid=fork();
if(pid==0)
{
SearchRecord();
printf("end searchn");
exit(0);
}
else if(pid
我现在做了一个服务器程序,需要来一个客户端请求就处理一个
应该进程多进程处理,但是对于多进程中的父进程要等待子进程,在后台查看的时候
只有两个进程,一个父进程,一个子进程,如何才能做到接到一个客户端请求就启动一个进程,在客户端请求很多的情况下,就是不让父进程在启动一个子进程后,不去等待
,但是要保证没有僵死进程,怎么写代码,请大家发表意见,帮我解决,很急!
代码如下:
while(1)
(
memset(&addr_client, 0, sizeof(addr_client));
inaddrlen = sizeof(addr_client);
sockClient = accept(socklisten,(struct sockaddr*)(&addr_client),&inaddrlen);
if(sockClient==-1)
{
WriteLogFile("Error on accept of socklisten.n");
}
pid=fork();
if(pid==0)
{
SearchRecord();
printf("end searchn");
exit(0);
}
else if(pid