ttylog 附加到错误的进程 - 发行说明也有点难以理解

Lit*_*les 5 terminal process tty

我的机器上运行着一个冗长的 python 脚本:

[root@server1]# ps aux | grep python
root     30640 15.6  0.6 296416 102444 pts/4   S+   11:29   2:38 python my_script.py
Run Code Online (Sandbox Code Playgroud)

但我现在正在笔记本电脑上远程工作,并希望查看该脚本的输出。我通常只是命令tail的输出文件tee,但这不起作用。

所以我下载了这个名为ttyloghttp://search.cpan.org/~bbb/ttylog-0.83/ttylog)的程序来查看该过程的输出。这看起来相当简单,所以我已经 ssh 进入server1并运行:

[root@server1 ttylog-0.83]# ./ttylog pts/4
DEBUG: Scanning for psuedo terminal pts/4
DEBUG: Psuedo terminal [pts/4] found.
DEBUG: Found parent sshd pid [28198] for user [root]
Process 28198 attached - interrupt to quit
Run Code Online (Sandbox Code Playgroud)

但这是错误的过程 - 所以我没有得到任何输出。

我需要它附加到进程 30640,即 python 进程。有谁知道如何做到这一点?

Den*_*ker 1

ttylog没有什么特别的,只是对 ssh pid 进行 strace:

exec "strace","-e","read,write","-s16384","-x","-o",$write,"-p",$pid
    or die "exec: $!";
Run Code Online (Sandbox Code Playgroud)

因此,要获得一些相关结果,您可以自己简单地跟踪 python 解释器。