/* * Exemplo de uso de fork e waitpid. */ #include #include #include #include int main() { pid_t pid; printf("Processo pai. PID = %d\n", getpid()); if ((pid = fork()) != 0) { printf("Processo pai. PID do filho = %d\n", pid); while (waitpid(pid, NULL, WNOHANG)== 0) printf("Meu filho ainda está vivo!!!! :-)\n"); printf("Meu filho morreu... :-(\n"); } else { sleep(1); /* Filho demora um pouco para executar. */ printf("Processo filho. PID = %d\n", getpid()); } return 0; }