Bash
在沒有輸出的目前目錄中執行程序並拒絕它的單線器?
我正在嘗試做一些相當簡單的事情:
$ ( cd /opt/myprogram && ./myprocess.sh >/dev/null 2>&1 & ; disown $! ) -bash: syntax error near unexpected token `;'
我如何才能在子外殼中打破單線,從給定文件夾執行給定腳本,將輸出清零並將其發送到後台?
問題是您同時使用
&
兩者;
。它們都是命令終止符,不能同時使用。這是您修復的範例:( cd /opt/myprogram && ./myprocess.sh >/dev/null 2>&1 & disown )
nohup實用程序幾乎可以滿足您的需求:
Usage: nohup COMMAND [ARG]... or: nohup OPTION Run COMMAND, ignoring hangup signals. If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use 'nohup COMMAND > FILE'.