J'ai hérité d'un script Perl qui, en fonction de la configuration de la machine, échoue pendant les appels à fork
avec $? == 11
.La fourchette échoue avec "ressource temporairement indisponible". Quelle ressource?
Selon errno.h
et variousposts, 11 est EAGAIN
, à savoir « essayer à nouveau », car une ressource était temporairement indisponible.
Y at-il un moyen de déterminer quelle ressource a causé la fourche à l'échec, autre que de plus en plus diverses limites du système un par un (open file descriptors, swap space ou nombre de allowable threads)?
Un processus fourchu est un clone complet du processus d'origine. Le profil de votre processus avant la fourche vous donnera une idée de la quantité de chaque ressource qu'il utilise. – alvits
Voulez-vous dire $! = 11? – ikegami
'Voulez-vous dire $! = 11?'. En fait, je me suis mal exprimé. Ce que j'aurais dû dire, c'est que la fourche est réussie, mais se termine immédiatement avec le code d'état 11, comme indiqué par 'wait'. – phonybone