// wait.c — el padre espera al hijo, así la salida es determinista.
#include <stdio.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>

int main(void) {
    pid_t rc = fork();
    if (rc < 0) {
        perror("fork");
        exit(1);
    }
    if (rc == 0) {
        printf("hijo %d trabajando...\n", getpid());
        sleep(1);
        exit(42);
    }

    int status;
    pid_t done = waitpid(rc, &status, 0);
    if (WIFEXITED(status))
        printf("padre: el hijo %d terminó con código %d\n", done, WEXITSTATUS(status));
    return 0;
}
