向子进程发送命令。Popen() 进程

Send commands to subprocess.Popen() process

提问人:Jacob Birkett 提问时间:7/4/2016 最后编辑:Jacob Birkett 更新时间:5/10/2019 访问量:9395

问:

我需要将命令传递给进程,但是当我这样做时,它只有在我之后使用时才有效。我的代码在下面。subprocess.Popen()stdin.close()

sprocess.stdin.write('/stop'.encode())
sprocess.stdin.flush()
sprocess.stdin.close()
sprocess.stdout.close()

有效,但那是因为,我需要能够在不关闭管道的情况下做到这一点。stdin.close()

如何在不关闭管道的情况下将命令传递给进程?

python-3.x 异步 子流程 popen(英语:popen)

评论

0赞 MisterMiyagi 7/4/2016
请注意,不会添加换行符!子进程可能需要一输入,由换行符或 EOF 表示。关闭将发送该 EOF。请尝试发送。sprocess.stdin.write('/stop'.encode())stdinsprocess.stdin.write('/stop\n'.encode())
0赞 Jacob Birkett 7/4/2016
@MisterMiyagi 你能回答一下我可以接受吗?

答:

4赞 MisterMiyagi 7/4/2016 #1

请注意,不会添加换行符!子进程可能需要一输入,由换行符或 EOF 表示。关闭将发送该 EOF。sprocess.stdin.write('/stop'.encode())stdin

请尝试发送。sprocess.stdin.write('/stop\n'.encode())