0
即使它的waitpid(SIGCHLD ...对于它,我的父进程无法捕获SIGCHLD 尝试给父进程显式kill(SIGCHLD ..)从孩子来测试父母没有收到信号。同样的味道是AIX ...我们需要编译它与一些标志或一些环境设置?AIX,父进程在子进程时无法捕获SIGCHLD
即使它的waitpid(SIGCHLD ...对于它,我的父进程无法捕获SIGCHLD 尝试给父进程显式kill(SIGCHLD ..)从孩子来测试父母没有收到信号。同样的味道是AIX ...我们需要编译它与一些标志或一些环境设置?AIX,父进程在子进程时无法捕获SIGCHLD
您需要注册一个信号处理程序来捕获SIGCHLD。 。waitpid
从SIGCHLD相关但不同的使用无论是signal(3)
或sigaction(2)
注册信号处理程序
要使用waitpid函数做:
pid_t x = fork();
...
pid_t y = waitpid(x, &status, options);
SIGCHLD真的只是告诉你,你需要调用其中一个等待函数。
信号处理函数可能会有一个空函数:SIGCHLD可能不会被忽略或阻塞。这对于AIX来说并不是独一无二的,这是包括Linux在内的几乎所有* nix系统上的默认行为。 – Dummy00001 2010-09-17 20:19:10