Ho uno script Perl che si biforca una serie di sotto-processi. Mi piacerebbe avere un qualche tipo di funzionalità come xargs --max-procs=4 --max-args=1
o make -j 4
, in cui Perl manterrà un determinato numero di processi in esecuzione fino a quando non avrà finito il lavoro.perl coda processo
È facile dire il processo di fork four e attendere che tutti vengano completati, quindi biforcare altri quattro, ma vorrei mantenere in esecuzione contemporaneamente quattro o n processi, creando un nuovo processo non appena uno completa.
C'è un modo semplice in Perl per attuare tale pool di processi?
Qual è la differenza tra blocco e coda? – srchulo
'block' farà in modo che il programma attenda fino a quando alcuni processi figlio finiranno in modo che possa iniziare l'attività successiva. 'queue' metterà l'attività corrente in una coda e farà in modo che il programma continui a funzionare. I lavori in coda verranno avviati in modo asincrono al termine di altri processi figlio. – mob
Ohhh, okay. Molte grazie! – srchulo