将输入发送到交互式会话并阅读输出

时间:2018-07-05 09:21:15

标签: windows python-3.x subprocess rpyc interactive-session

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

没有答案