Linuxですべてのプロセスのstdoutパイプを読む方法は?

Linuxですべてのプロセスのstdoutパイプを読む方法は?

親プロセスとの接続が切断され、実行中であるが、もはや上位プロセスのログファイルに出力されないSupervisorを介して起動された子プロセスがあります。

ただし、まだ実行中であり、標準出力に書き込んでいる可能性があります。これをどのように読みますか?

pidを見つけて確認すると、次のような/proc/$pid/fd結果が得られます。

$ sudo ls -lah /proc/$pid/fd
total 0
dr-x------ 2 root root  0 Mar  5 21:01 .
dr-xr-xr-x 9 root root  0 Mar  5 21:01 ..
lr-x------ 1 root root 64 Mar  5 21:01 0 -> 'pipe:[83894068]'
l-wx------ 1 root root 64 Mar  5 21:01 1 -> 'pipe:[83894069]'
l-wx------ 1 root root 64 Mar  5 21:01 2 -> 'pipe:[83894070]'

出力パイプにアクセスしてそれを読み取るtailか、他のプロセスを介して出力を読み取るにはどうすればよいですか?

ベストアンサー1

おすすめ記事