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

时间:2015-05-20 02:22:15

标签: c++ linux signals ipc

我希望我的父进程能够收到子进程中发生的错误/失败/终止的通知。

我很想知道这是否可以不使用信号?

1 个答案:

答案 0 :(得分:0)

您可以使用waitpid()wait()获取孩子的退出状态。这将告诉您孩子是否死于自然原因(exit()或等同物),或不自然原因(信号,以及核心是否被倾倒)。您需要允许SIGCHLD信号到达您的进程,但默认行为没问题。

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