Отправить вход в интерактивную сессию и прочитать вывод
Я пытаюсь отправить вход в интерактивный сеанс, прочитать вывод из него и ждать следующей команды. Я делаю это на 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.