我正撰写一个使用子处理程序的 Python 脚本。 主要的想法是让一个父脚本运行专门的子脚本, 例如运行其他程序或自行做一些事情。 在父脚本和子过程之间有管道。 我用它们来控制子进程是否仍然在响应, 定期发送一些字符并检查响应。 问题是当子程序在屏幕上打印任何东西( 即 写给 stdout 或 stderr ), 管子被破碎, 以及一切崩溃。 因此我的主要问题是, 能否在子过程中屏蔽对 std* 的写作, 所以只有对管道的正确回应是可能的? 我已经尝试了 < a href=" https:// stackoverflow. com/ questions/ 10321671/ stop- a- comple- from- write- to- stdout > > > > > > 阻止一个函数从写到 stdout a > 但没有成功 。
另外,欢迎在父进程和子进程之间交流的其他想法(基于文件的管道除外),但必须使用子进程。