16 votes

Comportement étrange du terminal et d'iTerm "-bash : fork : Ressource temporairement indisponible"

Lorsque j'ouvre iTerm, j'obtiens ce message :

Dernière connexion : Mon Oct 22 12:20:25 sur ttys002
-bash : fork : Ressource temporairement indisponible
-bash-3.2$

et quand j'ouvre le terminal, j'obtiens :

Dernière connexion : Mon Oct 22 12:25:47 sur ttys002
-bash : fork : Ressource temporairement indisponible
Williams-MacBook-Pro:~ william$

et chaque fois que j'essaie d'entrer une commande, comme ls ou cd, j'obtiens ce message d'erreur :

-bash : fork : Ressource temporairement indisponible

Donc, en gros, je ne peux rien faire. J'ai essayé de googler le message d'erreur, mais je n'arrive à rien. Je suis sur un Mac avec Mountain Lion, si cela peut vous aider. Merci.

EDITAR:

J'ai lancé "ps"

pour obtenir le statut du processus et j'ai obtenu cette réponse du terminal :

Williams-MacBook-Pro:~ william$ ps
PID TTY TIME CMD
203 ttys000 0:00.08 -bash
254 ttys001 0:00.03 bash /Users/william/.rvm/scripts/wrapper ruby-1.9.3-p2
553 ttys001 0:00.03 bash /Users/william/.rvm/scripts/wrapper ruby-1.9.3-p2
785 ttys001 0:00.03 bash /Users/william/.rvm/scripts/wrapper ruby-1.9.3-p2
814 ttys001 0:00.48 -bash
1019 ttys001 0:00.03 bash /Users/william/.rvm/scripts/wrapper ruby-1.9.3-p2

et le message

bash /Users/william/.rvm/scripts/wrapper ruby-1.9.3-p2

continue de s'afficher quelques centaines de fois dans le terminal (je n'ai pas pu tout afficher car cela ne rentrerait probablement pas dans cette boîte et c'est toujours la même chose), donc je suppose qu'il y a quelque chose de bizarre avec ce fichier. Quelqu'un sait-il comment réparer cela ?

7voto

Daniel Kamil Kozar Points 5317

bash - et toutes les autres coquilles, également - utilisez la fonction fork sur les systèmes Unix afin de créer réellement le processus que vous souhaitez lancer à partir de l'interpréteur de commandes. Dans ce cas, bash vous indique que l'appel système s'est terminé par Resource temporarily unavailable qui se traduit par le errno valeur de 11, qui est égale à EAGAIN .

La page de manuel pour fork dit qu'il peut fixer errno a EAGAIN quand :

  • Il ne peut pas allouer suffisamment de mémoire pour copier les tables de pages du parent et allouer une structure de tâches pour l'enfant.
  • Il n'a pas été possible de créer un nouveau processus parce que l'appelant RLIMIT_NPROC La limite de ressources a été atteinte. Pour dépasser cette limite, le processus doit avoir l'une des deux caractéristiques suivantes CAP_SYS_ADMIN ou le CAP_SYS_RESOURCE capacité.

Dans ce cas, je pense que la première raison ne semble pas vraiment réaliste, à moins que vous ne manquiez réellement de mémoire, donc je suppose que vous avez simplement atteint la limite du nombre de processus en cours pour votre utilisateur.

4voto

software engineer Points 121

Voir la définition de limites plus élevées pour le nombre de processus.

http://blog.ghostinthemachines.com/2010/01/19/mac-os-x-fork-resource-temporarily-unavailable/

1voto

jcasner Points 335

Pour résoudre le problème sur Yosemite et les versions plus récentes de Mac OS, utilisez https://superuser.com/a/838630 . J'ai pu résoudre ce problème en mettant à jour le plist et le redémarrage - le ulimit les commandes étaient inutiles.

1voto

Warri Points 217

Pour iTerm, l'ouverture d'un nouvel onglet a fonctionné pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X