如何控制python子进程的执行

时间:2017-10-09 16:24:47

标签: python-3.x concurrency subprocess

我想在给定的时间点(代码)停止并恢复子进程的执行。

我的主程序生成了几批输出,我想用第三方工具评估它们。不幸的是,每批都依赖于最后一批的评估,所以我不能简单地运行我的程序而不是评估者,我必须运行 主要,评估者,主要,评估者,主要,评估者

现在有两个问题:

  1. 评估员有巨大的开销,我无法负担每次运行
  2. 我的程序和评估程序在同一过程中使用时都使用tensorflow和crash
  3. 所以我需要这样的东西:

    def main():
        s = subprocess.Popen()
        while True:
            generate_batch()
            send_batch_is_ready_signal()
            wait_for_subprocess()
    
    def subprocess():
        huge_overhead()
        while True:
            wait_for_next_batch()
            evalaute_batch()
            send_evaluation_is_ready_signal()
    

    目前我使用文件发送信号 我创建一个文件来发送信号和wait_for简单查找它并在找到后删除它,有更好的方法吗? 非常感谢你:))

0 个答案:

没有答案