我希望我的父进程能够收到子进程中发生的错误/失败/终止的通知。
我有兴趣知道这是否可以在不使用信号的情况下实现?
最佳答案
您可以使用waitpid()
获取 child 的退出状态或wait()
。这将告诉您 child 是否死于自然原因(exit()
或同等原因),或非自然原因(信号,以及核心是否被转储)。您需要允许 SIGCHLD 信号到达您的进程,但默认行为很好。
其他错误就不那么容易被发现了;你需要一些 IPC 机制来中继信息。
关于c++ - 如何在没有信号的情况下监控子进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30339243/