私はとても簡単なことをやろうとしています。
$ ( cd /opt/myprogram && ./myprocess.sh >/dev/null 2>&1 & ; disown $! )
-bash: syntax error near unexpected token `;'
サブシェルでコード行を実行し、指定されたフォルダから指定されたスクリプトを実行し、出力を消去してバックグラウンドに送信する方法は?
答え1
問題は、&
との両方を使用していることです;
。どちらもコマンド出口であるため、同時に使用することはできません。修正の例は次のとおりです。
( cd /opt/myprogram && ./myprocess.sh >/dev/null 2>&1 & disown )
答え2
これ北面ユーティリティはあなたが探しているものに合わせて設計されています。
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'.