C++ 如何跟踪在c++;

C++ 如何跟踪在c++;,c++,server,parent-child,kill,sigkill,C++,Server,Parent Child,Kill,Sigkill,我正在写一个服务器。它使用fork()创建新的子进程。我想在父进程死亡时杀死子进程。我计划使用数组来存储子进程的PID。但是子进程可能会在父进程之前终止。在这种情况下,如果我们使用已终止的子进程的SIGKILL和pid调用kill函数,它会引发异常吗?当子进程终止时,会向父进程发送一个SIGCHLD信号。在您有机会等待之前,您可以在父级中处理此信号,以检查哪个子级已自行终止。您应该等待所有子进程以避免僵尸进程 您还可以查看此线程,以了解在父进程终止时让子进程终止的另一种方法:当子进程终止时,会向

我正在写一个服务器。它使用
fork()
创建新的子进程。我想在父进程死亡时杀死子进程。我计划使用数组来存储子进程的PID。但是子进程可能会在父进程之前终止。在这种情况下,如果我们使用已终止的子进程的
SIGKILL
和pid调用
kill
函数,它会引发异常吗?

当子进程终止时,会向父进程发送一个
SIGCHLD
信号。在您有机会等待之前,您可以在父级中处理此信号,以检查哪个子级已自行终止。您应该等待所有子进程以避免僵尸进程


您还可以查看此线程,以了解在父进程终止时让子进程终止的另一种方法:

当子进程终止时,会向父进程发送一个
SIGCHLD
信号。在您有机会等待之前,您可以在父级中处理此信号,以检查哪个子级已自行终止。您应该等待所有子进程以避免僵尸进程


您还可以查看此线程,以了解在父线程终止时让子线程终止的另一种方法:

@n.m感谢您的响应。等待()系统调用将暂停调用进程的执行,直到其子进程之一终止。但我不希望调用进程的执行一直等到子进程终止。请仔细阅读,请向
WNOHANG
@n.m支付atentiopn,感谢您的响应。等待()系统调用将暂停调用进程的执行,直到它的一个子进程终止。但我不希望调用进程的执行一直等到子进程终止。请仔细阅读,请向
WNOHANG
支付ATENTOPN。