lai*_*ika 11 linux shell stdout ps
我不知道这种情况的名称是什么,我想昨天我关闭了一个带有后台 ipython 进程的会话,但我仍然能够连接到它(该进程正在运行一个 Web 服务器,我可以加载页面)。我还能看到进程的标准输出/标准错误吗?
如果我运行ps -f -Umyname我得到(我删除了一些不相关的行,但 PID 和 PPID 是真实的):
UID PID PPID C STIME TTY STAT TIME CMD
16131 1767 1765 0 11:20 ? S 0:03 sshd: myname@notty
16131 1946 21019 0 11:25 ? Sl 1:47 /usr/bin/python -m IPython.kernel -f /home/myname/.ipython/profile_default/security/kernel-c72091
16131 3946 21019 0 14:37 pts/3 Ss+ 0:00 /bin/bash
16131 4003 4001 0 14:38 ? S 0:01 sshd: myname@pts/14
16131 4004 4003 0 14:38 pts/14 Ss 0:00 -bash
16131 6366 4004 0 16:41 pts/14 R+ 0:00 ps -f Umyname
16131 21019 1 0 Jul30 ? Sl 0:52 /usr/bin/python ipython notebook
Run Code Online (Sandbox Code Playgroud)
我确定它没有在屏幕内运行。任何的想法?我对 PID 21019 感兴趣
fre*_*khl 10
您可以使用strace来查看正在运行的进程的输出。
$ strace -p 21019 -e write=1,2
Run Code Online (Sandbox Code Playgroud)
上述命令将附加到 PID 为 21019 的进程,并跟踪对 fd 1 (stdout) 和 2 (stderr) 的写调用。
完成后,您可以发送一个sigint(to strace) 来分离(按ctrl+ c)。
编辑:还有一些工具允许您将正在运行的进程附加到新终端,例如reptyr、 screenify 、 retty 。请注意,其中大多数使用 strace、gdb 或类似的跟踪工具来完成此操作,但它们往往会产生更漂亮的输出。
| 归档时间: |
|
| 查看次数: |
20628 次 |
| 最近记录: |