pid_t pid;
pid=fork();
调试时发现pid=10741,为什么不是0?
比较疑惑.
源代码:
/*client process*/
#include
by lxl_018 - C/C++ - 2004-12-30 15:20:38 阅读(1771) 回复(6)
我在redhat下写的程序运行没问题,到solaris下编译没问题,但运行则fork和 pthread-create都返回-1,用perror打印是error 0,这是怎么回事呢,环境是 vmware solaris9
一个是返给子进程的的值0,一个是返给父进程的子进程的ID,下面这两行语句怎么理解: if((pid = fork()) < 0) { printf("fork error"); exit(1); } else if (pid == 0) printf("output from child"); else printf("output from parent"); fork返回的两次值在if...else语句中怎么进行判断?请指点。
#include
#include
fork是否会阻塞吗? 主程序out_server listen sock=accept(); childpid=fork() fprintf(stderr,"childpid = %d \n",childpid); if(childpid == -1) { perror(..); } if(childpid == 0) //子进程 { execle(...); } else { close(sock); } 子进程 out_instance 上述程序,在alpha下面暂没有发现问题,但在solaris 7/8下,发现有些时候外来连接 不能建立连接。经进一步打印信息发现,主进程阻塞在fo...
for ( $i=1;$i<=500 ; $i+=50 ) { unless ( fork ) { &abc ( $i ) ; exit } } sub abc { $j = shift ; for ( $j ; $j <= $j + 50 ; $j++ ) { .............................} } ------------------ 这样使用之后吧,和不用fork差不多呢,也不快呀。