[bcn-pm] Perls i forks

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


Jaume Bacardit Peñarroya wrote:

> 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).
>
Me n'oblidava, si fa un "man perlipc" trobaràs una explicació sobre el tema.

Jaume



More information about the Barcelona-pm mailing list