【发布时间】:2018-12-06 12:09:02
【问题描述】:
我有一个运行图像处理线程的 python 脚本,我希望这个脚本在另一台机器上启动另一个脚本。第一个脚本应该从图像处理线程获取数据,将它们发送到第二个脚本,并在一切运行时从第二个脚本获取标准输出。
我成功通过ssh 使用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 ?),但没有找到任何类似的应用程序。
有人有这方面的信息吗?我应该完全使用其他东西吗?
谢谢
【问题讨论】:
-
你是在linux机器还是windows上运行这段代码?
标签: python ssh subprocess stdout paramiko