[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