ChinaUnix.net
相关文章推荐:

fork 出现僵尸进程

小弟最近在写AIX环境下的c程序,用到子进程,代码如下: …… for(;{ if ((childpid = fork())<0) { printf("不能进行fork\n"; tInt_RetCode = -1; goto ExitHere; } else if (childpid==0) { tInt_RetCode = srvM( i, ptsDate ); exit(0); } sleep(6); } …… 现在的问题是:程序运行后,查看系统进程出现了很多进程。程序关闭后,这些default进程...

by lxorb - C/C++ - 2006-08-02 13:48:32 阅读(2099) 回复(6)

相关讨论

不太明白。既然fork()一次后父进程退出,那子进程不就被init接管了吗?为何还得要fork()一次呢?

by jchc - C/C++ - 2006-07-11 09:46:02 阅读(1253) 回复(2)

请问程序fork进程出现;问题,一般是什么原因? 程序中用到了socket通讯,在传送文件结束后,ps -x查看,该程序由进程出现; 。 程序的GUI部分工做正常 环境redhat9。

by ningzhiyu - C/C++ - 2005-10-23 19:11:01 阅读(1163) 回复(2)

为什么fork()两次可以避免僵尸进程 ? 什么原理? 请大侠指点

by liuke432 - C/C++ - 2006-05-28 12:50:31 阅读(1812) 回复(4)

if((pid = ::fork()) < 0) return PID_ERR; if(pid == 0) { if((pid = ::fork()) < 0) { _exit(0); } if(pid == 0) { if(execvp(args[0],args) < 0) { _exit(0); } } else { _exit(0); } } else waitpid(pid, &status, 0); return pid;

by boldeagle - C/C++ - 2009-09-01 16:45:27 阅读(1330) 回复(4)

[code]#include #include #include int main (int argc, char *argv[]) { pid_t childpid = 0; int i, n; if (argc != 2){ /* check for valid number of command-line arguments */ fprintf(stderr, "Usage: %s processes\n", argv[0]); return 1; } n = atoi(argv[1]); for (i = 1; i < n; i++) if (childpid = fork()) break; ...

by xiaohu0 - C/C++ - 2005-11-25 00:12:53 阅读(1159) 回复(4)

#include ; int main(int argc, char *argv[]) { int i; for(i = 0; i < 4; i++)   if(fork() >; 0)     exit(0); fork(); printf("Hello, world\n"); return 0; } 结果是输出了两行Hello, world,为什么?子进程不是要继续循环吗?

by csoapy - C/C++ - 2005-07-07 14:32:55 阅读(1882) 回复(8)

小弟最近在学LINUX C编程, 现在看到创建进程这一块,有些地方不太明白,望各位朋友和前辈们指点一下! 下面是在一个教程上看到的讲解例子,讲得很明白, 只是我有点不太理解fork的用法. #include #include pid_t fork(void); pid_t pid; switch (pid = fork()) { case -1: /* 这里pid为-1,fork函数失败 */ /* 一些可能的原因是 */ /* 进程...

by xht314 - C/C++ - 2009-03-27 12:42:00 阅读(4440) 回复(5)

小弟最近在写AIX环境下的c程序,用到子进程,代码如下: …… for(;;){ if ((childpid = fork())<0) { printf("不能进行fork\n"); tInt_RetCode = -1; goto ExitHere; } else if (childpid==0) { tInt_RetCode = srvM( i, ptsDate ); exit(0); } sleep(6); } …… 现在的问题是:程序运行后,查看系统进程出现了很多进程。程序关闭后,这些default进程也消失了。 请教一下:为什...

by lxorb - AIX - 2006-08-09 17:59:27 阅读(1162) 回复(1)

fork 进程报错,跟踪errno为12 #define ENOMEM 12 /* Not enough core */ 请高手指点。

by drwine - HP-UX - 2006-06-22 12:56:59 阅读(972) 回复(0)

大体程序如下,计算其进程数目,打印结果*****有几次,为什么?: void main() { int i; pid_t pid; for( i=0;i<=2;i++ ){ pid = fork(); printf( "%d,%d\n", i, pid ); } if( pid < 0 ){ printf( "fork error" ); exit( 0 ); } else if( pid==0 ){ printf( "*********\n" ); exit( 0...

by crazylwl - C/C++ - 2004-03-04 09:28:18 阅读(1615) 回复(6)