Python запускает программу через подпроцесс ssh и получает ее стандартный вывод во время работы - PullRequest
0 голосов
/ 27 июня 2018

У меня есть сценарий Python, выполняющий поток обработки изображений, и я хотел бы, чтобы этот сценарий запускал другой сценарий на другом компьютере. Первый сценарий должен получать данные из потока обработки изображений, отправлять их во второй сценарий и получать стандартный вывод из второго сценария, пока все работает.

Мне удалось запустить программу через ssh, используя библиотеку spur. Я смог отправить данные в эту программу, но не получить ее стандартный вывод, пока она еще работала (нужно дождаться завершения процесса):

    import spur</p>

<code># 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
</code>

Я пытался найти любую информацию, чтобы сделать это по-другому, может быть, с помощью другого пакета (например, paramiko?), Но не нашел таких приложений.

У кого-то есть информация по этому поводу? Должен ли я использовать что-то еще?

Спасибо

1 Ответ

0 голосов
/ 27 июня 2018
...