回答:
使用nohup
あなたのバックグラウンドジョブが終了するのに長い時間がかかるか、あなただけのSecureCRTまたはそれがサーバにログインのようなものを使用している場合。
stdoutとstderrをリダイレクトして、出力/dev/null
を無視します。
nohup /path/to/your/script.sh > /dev/null 2>&1 &
nohup /path/to/your/script.sh parameter1 > & 1 &
誰かがより良い方法を知っている場合に使用することです。
/dev/null 2>&1
使用nohup
している場合は必要ありません。使用するだけ:nohup /path/to/your/command &
-bash: syntax error near unexpected token '&'
次のように出力をファイルにリダイレクトします。
./a.sh > somefile 2>&1 &
これにより、stdoutとstderrの両方が同じファイルにリダイレクトされます。stdoutとstderrを2つの異なるファイルにリダイレクトする場合は、次のようにします。
./a.sh > stdoutfile 2> stderrfile &
/dev/null
stdoutやstderrを気にしない場合は、一方または両方のファイルとして使用できます。
参照してくださいbashのmanページのリダイレクトの詳細については、を。
申し訳ありませんがこれは少し遅いですが、標準またはエラー出力を必要としない単純なコマンドの理想的な解決策を見つけました(それが原因であるクレジット:http : //felixmilea.com/2014/12/running-bash-commands-background -正しく/)
これにより、出力がnullにリダイレクトされ、画面が明確に保たれます。
command &>/dev/null &
Linuxキックスタートでスクリプトを実行したい場合は、以下のように実行する必要があります。
sh /tmp/script.sh > /dev/null 2>&1 < /dev/null &
これらの例は正常に動作します:
nohup sh prog.sh proglog.log 2>&1&
ループの場合、次のように使用できます。
{1..10}のiの場合。sh prog.shを実行します。睡眠1; done prog.log 2>&1&
バックグラウンドで動作し、出力は表示されません。