无法使用 cat 和 tail 读取进程输出

无法使用 cat 和 tail 读取进程输出

我有一个简单的写信例子stdout

import datetime
import time


if __name__ == '__main__':

    while True:
        print('time is {}'.format(datetime.datetime.now().time()))
        time.sleep(5)

然后我做了:

python main.py & echo $!

运行我的进程并获取其PID。

我的目的是读取stdout上面的当前进程,但所有这些命令只是冻结控制台并且不显示stdout内容

sudo tail -f /proc/15608/fd/1my console
sudo cat /proc/15608/fd/1

通知strace完美运作:

sudo strace -e write=1 -e trace=write -p 15608

但它给了我太多无用的文字。

cat我的问题:为什么(和)不能tail正常工作并冻结了我的控制台?有人能解释一下为什么会发生这种情况吗?

相关内容