【发布时间】:2016-03-04 02:09:34
【问题描述】:
我想使用 fork() 系统调用创建一个一级进程树,如下所示 对于 n = 4 个进程
我已使用以下代码进行了尝试,但这不起作用。 (这里 1 是父进程的子进程)
for(i = 0 ;i < n; i++){
chid = fork();
if ( chid == 0 ){
printf("%d\n",getpid());
while(++i < n){
chid = fork();
if(chid == 0){
printf(" %d ",getpid());
break;
}
}
}
else
break;
}
我怎样才能做到这一点?
【问题讨论】:
-
1是父进程吧? -
使用单循环并从子进程内部的循环中中断(即 if child == 0)以避免子分叉另一个子进程。
-
@n3rd4n1 no 1 是父进程的子进程
标签: c++ c fork systems-programming