Maison  >  Questions et réponses  >  le corps du texte

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

PHPzPHPz2714 Il y a quelques jours917

répondre à tous(3)je répondrai

  • 伊谢尔伦

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

    Vous pouvez utiliser pool.terminate() pour mettre fin au processus enfant.
    https://docs.python.org/3/lib...

    répondre
    0
  • 高洛峰

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

    .close() arrête doucement le processus enfant et .terminate() le ferme de force.

    Je ne sais pas de quel scénario d'utilisation vous avez besoin pour utiliser cette fonction explicitement. Je n'ai jamais eu ce besoin lors de l'utilisation de concurrent.futures, j'utilise donc directement l'instruction with. Une fois la tâche traitée, elle se terminera.

    répondre
    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)

    répondre
    0
  • Annulerrépondre