回答:
のファイル記述子#1(STDOUT)を確認してください/proc/$PID/fd/
。カーネルは、このファイルを、記述子がリダイレクトされるファイルへのシンボリックリンクとして表します。
$ readlink -f /proc/20361/fd/1
/tmp/file
どのファイルがどのプロセスで開かれているかを確認する便利なツールですlsof
。を使用して特定のプロセスを指すことlsof -p1234
ができ、ls -l /proc/1234/fd
Linuxで取得できる情報とほぼ同じ情報、つまりどのファイルが開かれるかがわかります。
最も有用なのlsof
は、逆の方向に進むlsof /path/to/file
ことです。どのプロセスがそのファイルを使用しているかを示します。
多くの答えは、この方法でそれを行うことを言及しています:
tail -f /proc/{PID}/fd/1
ただし、常に機能するとは限りません。または、cat
結果が得られることもあります。
cat /proc/{PID}/fd/1
{PID}は、ps aux
コマンドを使用して検索できます。
また、コマンドの最後にある番号(この場合はfd / 1)を他の出力用に変更できることも言及しておくと良いでしょう。
/proc/{PID}/fd/0 # STDIN
/proc/{PID}/fd/1 # STDOUT
/proc/{PID}/fd/2 # STDERR