Found an example, where the daemonization closes STDOUT and STDIN in order to not create files. This could confuse the child process (which has no stdout). So either, maybe this works:
use Daemon::Simple;
open(SAVEIN, "<&STDIN");
open(SAVEOUT, "<&STDOUT");
Daemon::Simple::init("daemon");
open(STDIN, "<&SAVEIN");
open(STDOUT, "<&SAVEOUT");
print qx("/external/command");
close(STDIN);
close(STDOUT);
or you will have to redirect your output to a file
qx("/external/command > /tmp/file")
and read it back using open(), diamond and close() |