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 - AIX - 2006-08-09 17:59:27 阅读(1162) 回复(1)

相关讨论

#include ; #include ; #include ; void main(void) { int i; printf("\nInitial process PID%6d\t PPID%6d\t GID6d\n",getpid (),getppid(),getpgid(0)); for(i = 0;i<3;++i) if(fork() == 0) printf("new process PID%6d\tPPID%6d\tGID%6d\n",getpid(),getppid(),getpgid(0)); } 他的输出如下: Initial process PID 15...

by benqing - C/C++ - 2004-04-29 09:34:06 阅读(2031) 回复(12)

平台:linux7.2 我用fork()创建了一个进程进程处理完后我用exit(0)退出,却发现进程用ps -ef|grep 进程名,还是能看到?怎么回事?如何做到进程退出后用ps -ef|grep 进程名,进程名不在上面?

by jenson0015 - Linux论坛 - 2004-08-24 19:46:50 阅读(1597) 回复(8)

大概流程是这样的,我在main函数调用某个函数(do_pipe), 在do_pipe函数里面,我fork了一个进程, 然后进程里面执行execvp,并且把结果利用dup2重定向到管道的一端,然后从父进程从管道另一端接收数据作为输入。大致如下: int do_pipe() { pid_t pid; if(pid==0) { dup2(); execvp(); } else { wait(); dup2(); execvp; } return 0; } 此...

by songna - C/C++ - 2008-11-10 18:28:02 阅读(1746) 回复(5)

#include #include #include"apue.h" #include"unix_err.h" int glob = 6; char buf[] = "a write to stdout\n"; int main() { int var; pid_t pid; pid_t pid_child; var = 88; if(write(STDOUT_FILENO,buf,sizeof(buf)-1) != sizeof(buf)-1) { err_sys("write error"); } printf("before fork\n"); if( (pid=fork()) < 0 ) { err_sys("fork error"); } else if(pid == 0) { if( (...

by fan2290 - C/C++ - 2006-12-21 10:31:59 阅读(3562) 回复(12)

我试了一下可以,想确认一下。。。 如果这样做的话有没有什么问题,需不需要注意什么? 谢谢

by zjpangxie - C/C++ - 2005-02-17 11:48:59 阅读(995) 回复(2)

如果我单独运行一个child程序的话,大概只要花1秒中就可以跑起来,如果我从另外一个程序用fork一个进程然后用execl调用child程序的话,就要花3秒左右才可以跑起来。 我想问一下,为什么要多这两秒钟,主要的时间花在什么地方,怎样才可以提高速度? 谢谢

by whshuai - GUI编程 - 2008-10-23 22:10:35 阅读(2296) 回复(1)

使用的是标准的tcp server模型,fork一个进程来提供服务。 发现每个进程结束后,在ps中还是可以看见,使用kill -9 xxx还是不能杀掉 该如何解决? 环境是redhat 8,g++编译。 另外问一句,ps查看,进程提供服务的时候,名称显示是正常的,但结束后, 进程不死,看到的是用中括号括起,还添加了[code];,如:[server_fork ;][/code]

by flytod - C/C++ - 2004-04-01 19:20:34 阅读(2941) 回复(4)

平台:redhat7.2 我用fork创建出一个进程进程处理完事务后要退出,我用exit(0)来退出进程,但发现ps -ef|grep 进程名时,进程仍然看到, 请问要怎样才能进程退出后,ps -ef|grep 进程名看不能进程 对了,我父进程不能退出。

by jenson0015 - C/C++ - 2004-08-21 20:59:09 阅读(2234) 回复(3)

我用init进程fork了一个进程后,但是我fork进程却不能输出信息到终端,见到init源码中讲标准输入输出都已经关闭: close(1); close(2); close(0); 请问如何才能讲我进程中的输出信息打印到终端?

by hula001 - BSD - 2009-03-24 11:03:27 阅读(1339) 回复(1)

main () { int pid; pid=fork(); if (pid < 0) printf("error in fork!"); else if (pid == 0) printf("i am the child process, my process id is %d\n",getpid()); else printf("i am the parent process, my process id is %d\n",getpid()); } 反复运行 ,发现有时候是先进程,后父进程,有时候是先父进程进程,是为什么呢?...

by even713 - C/C++ - 2009-02-13 12:19:46 阅读(3300) 回复(13)