答案 0 :(得分:2)
查看子进程模块。它应该有助于输出分离。我没有看到任何单独的输出流或单个流中的某种输出标记。
悬挂过程问题也很困难。我能够做的唯一解决方案是在外部进程上放置一个计时器,如果它没有在指定的时间内返回,则将其终止。粗暴,讨厌,如果其他人有一个很好的解决方案,我很乐意听到它,所以我也可以使用它。
有一件事可以帮助解决完全不受管理的关机问题,就是保留一个pid文件目录。每当您启动外部进程时,请将文件写入您的pid文件目录,其名称是进程的pid。当您知道进程已完全退出时,请删除pid文件。您可以使用pid目录中的内容来帮助清除崩溃或重新启动。
这可能无法提供任何令人满意或有用的答案,但也许这是一个开始。