AIX,父进程在子进程退出时无法捕获SIGCHLD

时间:2010-09-17 17:54:28

标签: c unix aix

我的父进程无法捕获SIGCHLD,即使它在waitpid上(SIGCHLD ...为它。 尝试从子进程向父进行显式kill(SIGCHLD ..)以测试父进程没有收到信号。而且味道是AIX ...我们是否需要使用一些标志或某些env设置来编译它?

1 个答案:

答案 0 :(得分:1)

您需要注册一个信号处理程序来捕获SIGCHLD。 waitpid与SIGCHLD相关但不同。使用signal(3)sigaction(2)注册您的信号处理程序。

使用waitpid do:

pid_t x = fork();
...
pid_t y = waitpid(x, &status, options);

SIGCHLD实际上只是告诉您需要调用其中一个等待函数。

相关问题