我有一个名为 test.py 的脚本,它执行以下操作:
while(1):
....打印“你好世界”
(这个脚本只是连续打印'hello world'。
现在,我正在使用两台机器(机器A和机器B)。两台机器使用相同的用户。我想做以下事情:
(1) [使用机器A] 在机器A上运行 test.py 以编程方式 {意思是,本地python脚本将是使用say os.system(....)}运行 test.py (此时,脚本 test.py 正在将“hello world”打印到机器A的屏幕上)
(2) [使用机器B] 我现在想使用ssh登录到机器A并“查看”我们运行的脚本的输出(1)
我如何实现这一目标?我知道如何编写将在机器A上运行并启动 test.py 的脚本。我也知道如何从机器B ssh到机器A.
我不知道的是:
(*)我应该在(1)中使用什么命令来运行python脚本,以便在从另一台机器(机器B)登录到机器A时可以轻松查看其输出?
(*)从机器B到机器A的ssh之后,如何“导航”到显示 test.py 输出的屏幕?
答案 0 :(得分:4)
有几种方法可以做到这一点......但最简单的可能是一个fifo缓冲区:
A$ mkfifo /tmp/stuff
A$ ./test.py &> /tmp/stuff
然后在机器B上:
B$ ssh A "cat /tmp/stuff"
hello world
hello world
...
通常我会建议使用screen
,但它假设您将从终端内部运行(这将是棘手的)。我听说detach
应该更简单,所以你可以尝试一下吗?
答案 1 :(得分:1)
一个非常快速的替代方法是将python程序的输出传递给一个文件,然后简单地使用tail
和第二个用户一起查看输出,因为它被写入文件。但是,有了像你那样的程序,文件非常很快变得庞大。