2010-10-28 20 views
4

J'ai un programme fonctionnant sous Mac OS 10.5.8. Le programme exécute un cycle continu dans lequel il monte une image, installe un plugin de navigateur et démonte à nouveau l'image. Si je laisse ce programme en cours d'exécution je finis dans une situation où j'obtiens l'erreur suivante "fork: resource temporairement indisponible". Dans le moniteur d'activité, je peux voir que plusieurs centaines de processus appelés diskimages-helper sont en cours d'exécution. Est-ce que quelqu'un sait pourquoi cela arrive et comment je peux l'éviter? Voici les commandes que j'utilise pendant un cycle du programme.Erreur lors du détachement de volume à l'aide de hdiutil sous OS X

# First I remove the plugin 
rm -rf "/Library/Internet Plug-Ins/my.plugin" 

# If the mount exists I unmount it 
hdiutil unmount [mount] -force 

# If that doesnt work I detach the device 
hdiutil detach [device] -force 

# Then I mount the image 
hdiutil mount [image] 

# I install the plugin 
installer -package [package] -target/

# Unmount 
hdiutil unmount [mount] -force 

# And if necessary detach 
hdiutil detach [device] -force 
+0

Vous installez à plusieurs reprises le même plugin de navigateur? –

+0

Le programme fait d'autres choses le rendant utile :) Il télécharge une révision différente du plugin et exécute quelques tests –

Répondre

8

Vous devez toujours détachez l'image disque - démontant il démonte le système de fichiers, mais laisse l'image disque attaché à un/dev/disque * entrée, avec un processus diskimages-aide en cours d'exécution pour le manipuler. Notez que hdiutil detach prendra soin de démonter le volume pour vous (à condition que l'analyse de disque soit en cours), vous pouvez donc ignorer l'étape de démontage.

+0

Merci pour la réponse, je vais essayer. (Il est difficile de dire si cela fonctionne car le problème prend parfois des jours à se manifester, ce n'est pas comme si chaque cycle ajoutait un processus diskimages) –

+1

Hey Gordon, j'ai finalement essayé d'essayer votre suggestion, et ça semble fonctionner :) merci –

+0

tout à fait malheureux que 'mount' soit un synonyme de' attach', mais 'unmount' n'est pas un synonyme de' detach'. Cela m'a fait trébucher, a lentement rempli '/ dev' avec des entrées' disk * ', ce qui a fini par aboutir à une erreur' no montable file systems'. Redémarrer pour effacer les entrées '/ dev/disk *' et utiliser 'attach' /' detach' à la place de 'mount' /' unmount' semble avoir résolu le problème. – dimo414