if (not fork()) {system("cmd >cmd-out"); ... exit} ...additionalprocessing-in-parallel...; wait; # or a more specific waitpid...; # if you've a lot of forks and/or run a long time, # consider to reap your children: wait, SIG{CHLD} # -> man perlipc open(FH,"