/* sigchld.c Exemplo de funcao para interceptar o sinal ^C - Celio Nov 2000 */ #include #include #include #include #include #include static void sig_alrm(int signo) { printf("Filho terminou!\n"); } main() { signal(SIGCHLD, sig_alrm); printf("Comecando ..\n"); if (!fork()){ //código do filho a seguir sleep(1); exit(0); //filho termina após 1 segundo } pause(); // The pause() function shall suspend the calling thread until delivery of // a signal whose action is either to execute a signal-catching function // or to terminate the process. printf("Fui acordado pelo término do processo filho!\n"); }