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