Heim  >  Fragen und Antworten  >  Hauptteil

python3.x - Python多进程的子进程终止问题

PHPzPHPz2764 Tage vor956

Antworte allen(3)Ich werde antworten

  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:00:08

    可以用 pool.terminate() 来结束子进程。
    https://docs.python.org/3/lib...

    Antwort
    0
  • 高洛峰

    高洛峰2017-04-18 10:00:08

    .close() 温和地停止子进程,.terminate() 强制关。

    不知道你是什么使用场景需要显式地用这种功能。我用 concurrent.futures 的时候从来没有过这种需求,直接用 with 语句。任务处理完了也就退出了。

    Antwort
    0
  • PHPz

    PHPz2017-04-18 10:00:08

    ###  example
    import os
    import signal
    
    def handle_sigterm(signum, frame):
        # do stuff
        os._exit(0)
    
    # subprocess
    signal.signal(signal.SGITERM, handle_sigterm)
    
    # where to kill subprocess
    os.kill(pid, signal.SIGTERM)

    Antwort
    0
  • StornierenAntwort