Вам необходимо зарегистрировать обработчик сигнала для перехвата SIGCHLD.waitpid
связано, но отличается от SIGCHLD.Используйте signal(3)
или sigaction(2)
для регистрации вашего обработчика сигнала.
Чтобы использовать waitpid, сделайте:
pid_t x = fork();
...
pid_t y = waitpid(x, &status, options);
SIGCHLD действительно просто говорит вам, что вам нужно вызвать одну из функций ожидания.