I use exec() to execute command, either linux or windows.
How do you execute a command, linux and windows, and log the output without waiting?
I know for linux, to not wait for the output: command* > /dev/null 2>/dev/null &
And to log output for linux: command* > /path/to/log.txt 2>/path/to/error.txt
How would you go about logging and setting it to background in one command? How would windows look like too?
On Linux you can do:
On Windows you can do:
Both examples disable output and errors, those go to
/dev/null(linux) orNUL(windows) which means they are stored “nowhere”.You can replace these with valid paths on your system.
On Linux, a
&at the end places it into background. On windows this is more complicated and needsstartto invoke the process andcmdto allow redirection of the streams.