[bcn-pm] Perls i forks

Jaume Bacardit Peñarroya helly at he11storm.net
Thu Mar 18 16:23:05 CST 2004


Lluís Ribes wrote:

> Hola,
>
> Sóc en Lluís Ribes, aquest dies estic fent un sheduler per llançar 
> treballs sobre una plataforma GRID. He decidit fer-ho en perl per la 
> seva portabilitat i la sencillessa a l hora de debugar errors. El 
> scheduler és molt sencill, i actualment encara més, per què el que fa 
> és llansar uns 14 treballs paral.lels cada 200 segons sobre 5 màquines 
> diferents. Aquest 14 treballs són cadascú un fork, i ja m´he trobat 
> amb un problema, i és que hi ha un limit de zoombies generats pels 
> forks que poden estar actius, de tal forma, que després de 8 torns de 
> generar 14 treballs, el pare a arrivat al limit de forks que pot fer i 
> peta.
>
> Aixó ho he resolt parcialment fent que el fork que genera 14 treballs 
> cada cop, estigui en un fitxer perl que és cridat per unaltre procés 
> perl mitjançant system. Es pot fer algo per evitar el zoombies? cal 
> dir que el pare no pot bloquejar-se fent un wait perquè sinó és perd 
> la paral.lització.
>
>
Jo també m'he trobat amb aquest problema fa poc ;)

En el pare, abans de començar a fer forks, posa aixo:

$SIG{CHLD}='IGNORE';

L'alternativa, si t'interessa, és cridar a la funció "wait" per cada 
fill, pero aixo bloqueja el pare (diria).


Jaume



More information about the Barcelona-pm mailing list