[英]Python run a program through a ssh subprocess and get it's stdout while running
我有一个运行图像处理线程的python脚本,我希望该脚本在另一台计算机上启动另一个脚本。 在一切运行的同时,第一个脚本应该从图像处理线程获取数据,将其发送到第二个脚本,并从第二个脚本获取标准输出。
我成功地使用spur库通过ssh运行了一个程序。 我能够向该程序发送数据,但无法在程序仍在运行时获得它的标准输出(必须等待该过程完成):
import spur
# Open SSH connection
print("Connection ...")
ssh = spur.SshShell(
hostname="host",
username="name",
password="pswd",
missing_host_key=spur.ssh.MissingHostKey.accept,
)
# start program in a process (on the second machine)
process = ssh.spawn(["sudo", "python3.6", "program.py"])
c=0
while True:
print("send data : " + str(c))
process.stdin_write(str(c))
c+=1
我试图找到其他方法来做任何信息,也许使用其他软件包(例如paramiko?),但是没有找到任何类似的应用程序。
有人对此有一些信息吗? 我应该完全使用其他东西吗?
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.