向 subprocess.Popen() 进程发送命令
Send commands to subprocess.Popen() process
我需要将命令传递给 subprocess.Popen()
上的进程,但是当我这样做时,它只有在我之后使用 stdin.close()
时才有效。我的代码如下。
sprocess.stdin.write('/stop'.encode())
sprocess.stdin.flush()
sprocess.stdin.close()
sprocess.stdout.close()
可行,但那是因为 stdin.close()
,我需要能够在不关闭管道的情况下执行此操作。
如何在不关闭管道的情况下将命令传递给进程?
注意sprocess.stdin.write('/stop'.encode())
不会加换行!您的子进程可能需要 行 行输入,由换行符或 EOF 表示。关闭 stdin
将发送该 EOF。
尝试发送 sprocess.stdin.write('/stop\n'.encode())
。
我需要将命令传递给 subprocess.Popen()
上的进程,但是当我这样做时,它只有在我之后使用 stdin.close()
时才有效。我的代码如下。
sprocess.stdin.write('/stop'.encode())
sprocess.stdin.flush()
sprocess.stdin.close()
sprocess.stdout.close()
可行,但那是因为 stdin.close()
,我需要能够在不关闭管道的情况下执行此操作。
如何在不关闭管道的情况下将命令传递给进程?
注意sprocess.stdin.write('/stop'.encode())
不会加换行!您的子进程可能需要 行 行输入,由换行符或 EOF 表示。关闭 stdin
将发送该 EOF。
尝试发送 sprocess.stdin.write('/stop\n'.encode())
。