通过 SSH 查看脚本?

通过 SSH 查看脚本?

一位朋友使用远程机器运行了一个脚本,该脚本通过 SSH 连接到我的机器,并运行了驻留在我的机器上的以下 python 脚本:


while (1):

....print "hello world"

(该脚本只是连续打印‘hello world’)。

我现在已经登录到我的机器了。我如何才能看到我朋友正在运行的脚本的输出?

如果有帮助的话,我可以“发现”我的朋友正在使用的脚本:


me@home:~$ ps aux | grep justprint.py

**friend 7494 12.8 0.3 7260 3300 ? Ss 17:24 0:06 python TEST_AREA/justprint.py**

friend 7640 0.0 0.0 3320 800 pts/3 S+ 17:25 0:00 grep --color=auto just

我应该采取什么步骤才能在屏幕上看到“hello world”消息?

答案1

如果他正在使用screen,那么您可以将会screen -r话附加到您的会话或screen -x共享屏幕会话。

否则会稍微困难一些。你可能必须先更改权限/dev/pts/3,然后再执行tail -F /dev/pts/3

还有另一个选项,您可以使用ttysnoop它。http://www.linuxhelp.net/guides/ttysnoop/

答案2

使用ssh -t将使 WoLpH 的屏幕建议起作用。

ssh -t <remote_host> screen

给我一个关于 remote_host 的屏幕。

答案3

假设您使用不同的用户帐户登录。简而言之,您不能。如果可以,那将是一个安全问题。您的常规用户帐户将无权读取其他进程的进程、pty 和套接字。

Screen 可能会有所帮助,但必须编译为支持多用户,然后正确安装和配置(使用 ACL 等)。如果事先完成这些操作,那么您可以使用 screen。

例如从客户端:ssh -t friend@host screen -r me/[session]

另一个选项是 ttysnoop,但同样需要一些预配置。

真正的问题是“你为什么要这么做?”你想要实现的最终目标是什么?可能还有其他更好的方法。

相关内容