Linux C中父进程退出时,使用什么方法可使子进程退出
答案:2 悬赏:60
解决时间 2021-02-07 09:39
- 提问者网友:孤笛钟情你
- 2021-02-07 04:31
Linux C中父进程退出时,使用什么方法可使子进程退出
最佳答案
- 二级知识专家网友:怪咖小青年
- 2021-02-07 05:16
可以用wait( ) 或者 waitpid( ) 阻塞父进程,等待子进程自己退出后给子进程收尸;
或者在子进程中注册一个信号响应,响应动作为退出进程,然后在父进程要退出时,给子进程发送信号,然后等待子进程退出后收尸。
相关API:
wait( )
signal( )
exit( )
或者在子进程中注册一个信号响应,响应动作为退出进程,然后在父进程要退出时,给子进程发送信号,然后等待子进程退出后收尸。
相关API:
wait( )
signal( )
exit( )
全部回答
- 1楼网友:转身后的回眸
- 2021-02-07 06:09
父进程退出前,使用 kill 向子进程发送 sigkill 信号。
#include
#include
#include
#include
#include
int main(void)
{
pid_t pid;
pid = fork();
if (pid < 0) {
printf("fork error!\n");
exit(-1);
}
if (pid > 0) {
printf("parent. ppid(%d), pid(%d)\n", getppid(), getpid());
kill(pid, sigkill);
wait(null);
printf("done\n");
} else {
printf("child. ppid(%d), pid(%d)\n", getppid(), getpid());
sleep(3);
}
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯