#include #include #include #include #include void handler(int signo) { printf("SIGCHLD\n"); } int main() { void *ret = signal(SIGINT, handler); assert (ret != SIG_ERR); pid_t child_pid = fork(); assert (child_pid != -1); if (child_pid == 0) { sleep(1); _exit(14); } printf("signo = %d\n", SIGCHLD); printf("code = %d\n", CLD_EXITED); printf("child_pid = %d\n", child_pid); printf("uid = %d\n", getuid()); pid_t waited = wait(NULL); assert(waited == child_pid); return 0; }