use POSIX ":sys_wait_h"; #... do { # ... do some stuff while waiting ... # check in to see if the process has ended ... $kid = waitpid(-1, WNOHANG); } while $kid > 0;