11
lo esperado El método terminate()
para matar a los dos procesos:¿Por qué los niños no mueren?
import multiprocessing
import time
def foo():
while True:
time.sleep(1)
def bar():
while True:
time.sleep(1)
if __name__ == '__main__':
while True:
p_foo = multiprocessing.Process(target=foo, name='foo')
p_bar = multiprocessing.Process(target=bar, name='bar')
p_foo.start()
p_bar.start()
time.sleep(1)
p_foo.terminate()
p_bar.terminate()
print p_foo
print p_bar
Ejecución del código da:
<Process(foo, started)>
<Process(bar, started)>
<Process(foo, started)>
<Process(bar, started)>
...
que estaba esperando:
<Process(foo, stopped)>
<Process(bar, stopped)>
<Process(foo, stopped)>
<Process(bar, stopped)>
...
+1 para buena línea de cabeza. Podría ser el título de un disco de heavy metal. – log0
El multiprocesamiento siempre hace estos comentarios incómodos sobre los niños moribundos convirtiéndose en zombis, matando a sus padres y esas cosas. Es tan genial xD – poke