in reply to Restarting a daemon

As chromatic mentioned, if you check out perldoc -f system you'll see the following interesting little tidbit:

You can check all the failure possibilities by inspecting $? like this +: if ($? == -1) { print "failed to execute: $!\n"; } elsif ($? & 127) { printf "child died with signal %d, %s coredump\n", ($? & 127), ($? & 128) ? 'with' : 'without'; } else { printf "child exited with value %d\n", $? >> 8; }

Perhaps the extra verbosity in this error reporting will help you narrow down the problem.