Assignment name: process_termination Expected files: process_termination.c Allowed functions: memset, printf, malloc, free, write, fork, kill, exit, waitpid, sem_open, sem_close, sem_post, sem_wait, sem_unlink, usleep, gettimeofday ------------------------------------------------------------------------------- Create a program that demonstrates process termination and cleanup: 1. Launch 5 child processes that run in a loop (each iteration takes 500ms) 2. Each child has a random "death time" between 2-5 seconds 3. Parent process monitors all children using waitpid() with WNOHANG 4. When a child "dies" (exits), parent detects it and kills all remaining children using kill() 5. Parent prints which child died first and performs cleanup Output format: - "Child (PID: ): Iteration " - "Child (PID: ): Dying after