回答:
あなたが使う:
yourcommand > /dev/null 2>&1
バックグラウンドで実行する必要がある場合は、 &
yourcommand > /dev/null 2>&1 &
>/dev/null 2>&1AND にリダイレクトstdoutし、その時点でポイントしている場所に/dev/nullstderrstdout
あなたstderrがコンソールで発生したい場合、あなただけにstdout行くこと/dev/nullができます:
yourcommand 2>&1 > /dev/null
この場合stderrにリダイレクトされるstdout(例えば、あなたのコンソール)と、その後、元はstdoutにリダイレクトされます/dev/null
プログラムが終了してはならない場合は、以下を使用できます。
nohup yourcommand &
パラメータを指定しないと、すべての出力がnohup.outに入ります。
dup2()直後に起こるfork()が、前にexec*()。いったんexec*()プログラムを実行すると、シェルにはそのプロセスの出力をリダイレクトする機能がなくなります。私が間違っている場合は修正してください。しかし、そのような機能を実装したシェルについては知りません。