如何在没有信号的情况下监视子进程?

How to monitor a child process without signals?

我希望在子进程中发生 errors/failures/termination 时通知我的父进程。

我想知道不使用信号是否可行?

您可以使用 waitpid() or wait() 获取 child 的退出状态。这将告诉您 child 死于自然原因(exit() 或同等原因)还是非自然原因(信号,以及核心是否被丢弃)。您将需要允许 SIGCHLD 信号到达您的进程,但默认行为很好。

其他错误不那么容易发现;你需要一些 IPC 机制来传递信息。