gpt4 book ai didi

c - 如何知道孤儿进程创建时传递了哪些信号?

转载 作者:太空宇宙 更新时间:2023-11-03 23:48:12 24 4
gpt4 key购买 nike

我读到当父进程在子进程执行之前终止时,子进程将发送 SIGHUP 和 SIGCONT 信号。那么这将在 init 进程下工作。所以我想知道子进程是否生成信号?为此,我编写了这样的程序,但我没有收到任何消息,如收到信号。

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<signal.h>

void handler(int signo)
{
if(signo == SIGHUP)
printf("SIGHUP present\n");
else if (signo == SIGCONT)
printf("SIGCONT present\n");
}

main()
{
pid_t pid;
signal(SIGCONT,handler);
signal(SIGHUP,handler);

if((pid=fork()) == 0)
{
sleep(5);
printf("Child terminated\n");
exit(0);
}
exit(0);
}

最佳答案

如果父进程结束, child 不会收到信号通知。

如果 child 死亡, parent 会收到 SIGCHLD。

关于c - 如何知道孤儿进程创建时传递了哪些信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27600124/

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