この状況を想定します
wget http://file
wgetがファイルのダウンロードを開始します。
バックグラウンドに入れました。
^Z
bg
コマンドはバックグラウンドになります。
しかし、その出力はまだコンソールにあります-コンソールがまだ開いている場合。
コマンドの出力を停止することは可能ですか?
Wgetは単なる例です。大量の出力を書き込むコマンドについて考えます。
コンソールで、bg
を実行して端末を閉じて別の端末を開くことができることはわかっていますが、使用可能な端末が1つだけで、疑似端末がない場合はどうなりますか?
コマンドの実行中にコマンドの出力を実際にリダイレクトするソリューションは次のとおりです: https://superuser.com/questions/732503/ redirect-stdout-stderr-of-a-background-job-from-console-to-a-log-file
端末を使用する日常のシナリオでより使いやすいソリューションの場合は、wget -o log http://file &
wget
をバックグラウンドで実行し、その出力を端末ではなくlog
に書き込みます。もちろん、この場合(フォアグラウンドでwget
を実行した場合でも)出力はまったく表示されませんが、tail -f log
成長に合わせて出力を確認します。
コンソールにメッセージを出力せずにwget(またはその他のcmd)をバックグラウンドで実行し続けたいという意味ですか?それが問題である場合、redirection
を試すことができます
$ wget http://file > /dev/null
上記のコマンドはstdout
を/dev/null
にリダイレクトし、エラーメッセージ以外のメッセージは表示されません。エラーメッセージも表示したくない場合は、これを試してください
$ wget http://file 1>/dev/null 2>&1
より詳細な情報については、Google redirection
を使用できます。