出力をリダイレクトする方法と方法を知っています。それらを鎮めるバッシュから。これで、誤って出力リダイレクト部分をコマンド(2>&1
または> /tmp/mystdout
)に追加するのを忘れてしまいましたstdout
。stderr
私は本当にアプリケーションを終了して再起動したくありません。
要求どおりに具体的に作成してください。ザイルズ彼の意見では、私は特に次のようなシナリオでこれを扱いたいと思います。
- 無効な出力ファイル
stderr
次にリダイレクトするのを忘れました。stdout
または両方の組み合わせ
たとえば、私はApacheを実行しており、次のことができます。バラよりファイル記述子:
/proc/8019/fd/0 -> /dev/null
/proc/8019/fd/1 -> /dev/null
/proc/8019/fd/2 -> /var/log/apache2/error.log
ベストアンサー1
リダイレクトを使用できます(https://github.com/jerome-pouiller/reredirect/)。
reredirect -m /dev/null <PID>
後で、次のコマンドを使用してプロセスの初期出力を復元できます。
reredirect -N -O <M> -E <N> <PID>
(以前に開始されたリダイレクトによって提供されます)<M>
。<N>
reredirect は、README
他のコマンドや stdout または stderr にリダイレクトする方法も説明します。