
にリダイレクトするstdout
実行中のプロセスをキャプチャしたいと思います。システムコールを試しましたが、fd "1"を閉じると、利用可能な最も低いfd番号であるため、別のファイルに割り当てられます。stdout
/dev/null
fcntl()
与えられたfdをロックして他のファイルに再割り当てする方法についてのアイデアはありますか?
答え1
procファイルシステムを使ってキャプチャできると思います。
$ cat /proc/<PID>/fd/1
答え2
答え3
リダイレクトを使用できます(https://github.com/jerome-pouiller/reredirect/)。
reredirect -m /dev/null <PID>
後で、次のコマンドを使用してプロセスの初期出力を復元できます。
reredirect -N -O <M> -E <N> <PID>
(以前に開始されたリダイレクトによって提供されます)<M>
。<N>
reredirectは、README
他のコマンドにリダイレクトする方法も説明します。