Answers:
在中签出文件描述符#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
其中可以使用ps aux
命令查找{PID} 。
值得一提的是,命令末尾的数字(在本例中为fd / 1)可以更改为其他输出。
/proc/{PID}/fd/0 # STDIN
/proc/{PID}/fd/1 # STDOUT
/proc/{PID}/fd/2 # STDERR