我正在编写一个将使用子进程的 Python 脚本。主要思想是让一个父脚本运行专门的子脚本,例如运行其他程序或自己做一些事情。父脚本和子进程之间有管道。我使用它们通过定期发送一些字符并检查响应来控制子进程是否仍在响应。问题是当子进程在屏幕上打印任何东西(即写入标准输出或标准错误)时,管道被破坏并且一切都崩溃了。所以我的主要问题是是否可以在子进程中阻止写入 std* ,所以只有写入管道的合法响应是可能的?我已经尝试过停止写入标准输出的函数,但没有任何成功。
也欢迎其他关于父进程和子进程之间通信的想法(基于文件的管道除外)。但是,必须使用子流程。