向 subprocess.Popen() 进程发送命令

spi*_*paz 4 python subprocess asynchronous popen python-3.x

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

sprocess.stdin.write('/stop'.encode())
sprocess.stdin.flush()
sprocess.stdin.close()
sprocess.stdout.close()
Run Code Online (Sandbox Code Playgroud)

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

如何将命令传递给进程而不关闭管道?

Mis*_*agi 5

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

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