in reply to Re^2: system return -1
in thread system return -1
$! is "no child processes"? That would indicate you are reaping the children elsewhere. (It doesn't have anything to do with exiting cleanly or not.) Are you using $SIG{CHLD}='IGNORE';, wait or waitpid anywhere?