小弟最近在写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);
}
……
现在的问题是:程序运行后,查看系统进程,出现了很多
by lxorb - C/C++ - 2006-08-02 13:48:32 阅读(2099) 回复(6)
请问程序fork进程出现
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;
[code]#include
#include
小弟最近在学LINUX C编程, 现在看到创建进程这一块,有些地方不太明白,望各位朋友和前辈们指点一下!
下面是在一个教程上看到的讲解例子,讲得很明白, 只是我有点不太理解fork的用法.
#include
小弟最近在写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);
}
……
现在的问题是:程序运行后,查看系统进程,出现了很多
大体程序如下,计算其进程数目,打印结果*****有几次,为什么?: 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...