我正在尝试将输入发送到交互式会话,从中读取输出并等待下一个命令。我正在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进行交互式会话。