如何从远程服务器上的本地计算机 运行 python 脚本并实时显示输出?
How to run a python script from local machine on a remote server and display the outputs live?
我找到的唯一解决方案是:
cat MyScript.py | ssh username@ip_addr python -
问题在于它不会实时显示该脚本的输出,它会等到程序完成后再显示输出
我在这个脚本中使用 scapy 并用它嗅探数据包,我必须 运行 在那个远程服务器上这样做(不,我不能在那里复制它或在那里写它)
那么解决方法是什么?如何在我的命令行中实时查看脚本的输出?
我正在使用 windows 10.
重要说明:我还认为 ssh 正在使用某种缓冲,并在打印的内容超过缓冲区后发送输出,因为当输出非常大时它确实会突然显示它的一部分,我希望该函数的输出尽快到达我的计算机,而不是在到达缓冲区或其他东西之后
您应该先使用
将文件发送到您的远程计算机
scp MyScript.py username@ip_addre:/path/to/script
然后使用
通过 SSH 连接到您的远程计算机
ssh username@ip_addr
最后,你运行你的脚本正常
python path/to/MyScript.py
编辑
要直接执行脚本而不将其复制到远程计算机,请使用此命令:
ssh user@ip_addr 'python -s' < script.py
我找到的唯一解决方案是:
cat MyScript.py | ssh username@ip_addr python -
问题在于它不会实时显示该脚本的输出,它会等到程序完成后再显示输出
我在这个脚本中使用 scapy 并用它嗅探数据包,我必须 运行 在那个远程服务器上这样做(不,我不能在那里复制它或在那里写它)
那么解决方法是什么?如何在我的命令行中实时查看脚本的输出?
我正在使用 windows 10.
重要说明:我还认为 ssh 正在使用某种缓冲,并在打印的内容超过缓冲区后发送输出,因为当输出非常大时它确实会突然显示它的一部分,我希望该函数的输出尽快到达我的计算机,而不是在到达缓冲区或其他东西之后
您应该先使用
将文件发送到您的远程计算机scp MyScript.py username@ip_addre:/path/to/script
然后使用
通过 SSH 连接到您的远程计算机ssh username@ip_addr
最后,你运行你的脚本正常
python path/to/MyScript.py
编辑
要直接执行脚本而不将其复制到远程计算机,请使用此命令:
ssh user@ip_addr 'python -s' < script.py