gpt4 book ai didi

c - 如何杀死父进程的子进程树

转载 作者:行者123 更新时间:2023-11-30 16:56:58 25 4
gpt4 key购买 nike

我创建了一个有 3 个子进程的进程。问题是,当 fork()==0 时,我无法创建任何这些子项而不在最后杀死它。我的代码是这样的:

for(i=0 ; i<3 ; i++){
if(fork()==0){
//do child things
exit(0);
}
else{
//do parent things
}
}

我想创建这 3 个 child 而不杀死他们,并且当他们被创建时,将他们全部杀死。

PS:抱歉我的英语:)

最佳答案

您需要跟踪每个 child 的 pid。然后在循环结束时,您杀死它们。

pid_t child_pid[3];
for(i=0 ; i<3 ; i++){
child_pid[i] == fork();
if (child_pid[i]==-1){
perror("fork failed");
exit(0);
} else if (child_pid[i]==0){
//do child things
exit(0);
}
else{
//do parent things
}
}
for(i=0 ; i<3 ; i++){
kill(child_pid[i], SIGKILL);
}

关于c - 如何杀死父进程的子进程树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39710113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com