http://qs321.pair.com?node_id=1158666


in reply to Re^2: qx not always capturing stdout
in thread qx not always capturing stdout

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()