stavo lavorando il seguente esempio da Doug Hellmann tutorial su multiprocessing:Multiprocessing Bomba
import multiprocessing
def worker():
"""worker function"""
print 'Worker'
return
if __name__ == '__main__':
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker)
jobs.append(p)
p.start()
Quando ho provato a farlo funzionare al di fuori del if:
import multiprocessing
def worker():
"""worker function"""
print 'Worker'
return
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker)
jobs.append(p)
p.start()
E 'iniziato processi di riproduzione non-stop, e l'unico modo per fermarlo era riavviare!
Perché dovrebbe succedere? Perché non ha generato 5 processi ed è uscito? Perché ho bisogno dell'istruzione if?
È interessante sapere ora, dopo che mi è costato 2 riavvii;) –
Come lo fermeresti una volta avviato? Uccidere il processo nel task manager non sembra influenzarlo. –
Esistono limiti e killall nei sistemi POSIX, ma non conosco la soluzione per Windows. –