Отправить вход в интерактивную сессию и прочитать вывод

Я пытаюсь отправить вход в интерактивный сеанс, прочитать вывод из него и ждать следующей команды. Я делаю это на Windows, подключившись к нему через RPyC.

Ниже приведен мой код:

from subprocess import Popen, PIPE
from time import sleep
import sys
import rpyc

rp = rpyc.classic.connect("x.x.x.x", port=18812)
sp = rp.modules.subprocess.Popen("openssl",
                                 stdin=rp.modules.subprocess.PIPE,
                                 stdout=rp.modules.subprocess.PIPE,
                                 stderr=rp.modules.subprocess.PIPE,
                                 shell=True)
print(sp)
# Send Command #1
sp.stdin.write("speed rsa2048\n".encode())
sp.stdin.flush()
sleep(0.1)
data = sp.stdout.read() # Script hangs here
print(data.decode())

Скрипт зависает без вывода. Как работать с интерактивной сессией с использованием RPyC.

0 ответов

Другие вопросы по тегам