我之前曾问过一个question关于如何设置一个tkinter gui来接收来自子进程的行,而不会挂起整个程序。现在功能正常。
现在,我无法弄清楚如何将新行发送到子流程。我尝试过使用process.communicate,但我可能错误地使用了它。我也尝试了this question's solution,但self.process.stdin.write('stop\n'.encode())
似乎无效。如何将新命令发送到子python子进程?
相关代码:
self.process = subprocess.Popen([ "python", "-u", dir + "start.py" ],
stdout=subprocess.PIPE,
stdin=subprocess.PIPE,
stderr=subprocess.PIPE,
cwd=dir)
答案 0 :(得分:3)
数据可能会卡在管道中。写完后添加self.process.stdin.flush()
。