将命令发送到子流程.Popen()过程

2024-10-01 07:43:49 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

可以,但这是因为stdin.close()而我需要能够在不关闭管道的情况下完成此操作。在

如何才能在不关闭管道的情况下向进程传递命令?在


Tags: 代码命令close管道进程stdinstdout情况
1条回答
网友
1楼 · 发布于 2024-10-01 07:43:49

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

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

相关问题 更多 >