web-dev-qa-db-fra.com

Erreur Git bash: impossible de créer un processus enfant: aucun terminal disponible (-1)

J'ai eu jusqu'à 8 terminaux Git bash fonctionnant en même temps auparavant. 

Actuellement, je n'ai que 2 up.

Je n'ai jamais vu cette erreur auparavant et je ne comprends pas ce qui la cause.

Toute aide serait appréciée!

Photo ci-jointe:

 enter image description here

79
A. Petrizza

Vous avez trouvé un problème similaire et une solution potentielle ici: https://groups.google.com/forum/#!topic/git-for-windows/EO27WWvHx64

Je ne sais pas si vous avez toujours un problème avec cela, mais j'ai trouvé une solution très simple qui a fonctionné pour moi. J'ai ouvert une invite de commande Windows et exécuté la commande $ tasklist

On dirait que les connexions SSH que j'avais établies dans mes coquilles Git Bash n'étaient pas fermées lorsque ces fenêtres étaient fermées et étaient suspendues aux fenêtres disponibles de Git Bash Shell.

Cela peut être une solution dangereuse, mais à l’invite de la commande windows, j’ai exécuté $ taskkill/F/IM ssh.exe 

Tout semble fonctionner à nouveau après cela. Ce n'était peut-être pas directement un problème de processus Orphan, mais cela a fonctionné au moins pour moi. Bonne chance!

42
Scott Newson

Je vois le problème sur Windows dans git bash lorsque je tue ma console git bash sans utiliser exit. J'ai trouvé tuer la tâche ssh-agent.exe à partir du gestionnaire de tâches Windows pour résoudre le problème.

38
Joe z

J'aborde ceci avec une solution de contournement:

  1. Fermez la fenêtre Git Bash.
  2. Ouvrez le gestionnaire de tâches.
  3. Trouvez le processus "Git pour Windows".
  4. Tue le.
  5. Ouvrez Git Bash. 

Ça devrait aller maintenant.

10

Pour vous simplifier la vie (ce problème se produit assez souvent), créez un fichier appelé fixbash.bat dans le répertoire personnel et collez-le:

taskkill /F /IM ssh-agent.exe

Quand un problème survient, ouvrez simplement cmd et tapez fixbash.bat pour résoudre un problème.

Ou

Collez simplement la commande taskkill dans votre cmd si vous ne voulez pas créer de script.

7
klimat

Redémarrez votre machine.

(Les autres réponses ne m'ont pas fonctionné. (Je n'ai pas essayé de réinstaller. Le redémarrage est probablement plus rapide.)

5
andydavies

Ouvrir le gestionnaire de tâches et tuer le processus avec le nom bash, cela a fonctionné pour moi.

4
Hari

Cela se produit lorsque vous quittez git bash sans mettre fin au processus existant. Essayez simplement de tuer ces processus que vous avez commencés à partir de git bash. J'exécutais un processus de noeud dans git bash, alors j'ai tué tous les processus de noeud Étapes à suivre pour tuer

  1. Ouvrir le gestionnaire de tâches
  2. Onglet Détails
  3. Cherchez node.exe (vous recherchez vos processus)
  4. Tuez-le à chaque processus de nœud 
  5. Ouvrez à nouveau Git Bash
3
Ishan

Cela semble être un problème avec les processus lancés à partir de git bash, comme l’a suggéré @mamacdon dans son commentaire sur la réponse de @Scott Newson.

Pour moi, le problème est apparu si j'ai lancé un vscode à partir de la bash avec code et si cette instance de vscode a lancé un terminal git intégré alors que la bash d'origine était toujours en cours d'exécution. 

Peu importe que ce terminal ait été lancé au début ou plus tard, tant que c'était pendant que la bash d'origine était encore en cours d'exécution.

Cela ne s'est pas produit lorsque la bash a été fermée avant l'ouverture du terminal intégré. Ne fait pas la différence entre exit et la fermeture de bash via Windows. Ne s'est pas produit avec une autre fenêtre plus ancienne bash toujours en cours d'exécution.

Pour y remédier, il fallait fermer les terminaux dans vscode avec exit ou 'Kill Terminal' (veillez à ne pas confondre cela avec un 'volet fermé') ou bien à fermer vscode lui-même.

Si vous obtenez cette erreur, essayez de vous rappeler ce que vous avez lancé depuis la bash et de la tuer. Si les autres réponses ont fonctionné pour vous, c'est probablement simplement que ce sont les choses lancées par votre bash ou par les processus que vous avez lancés à partir de la bash et elles ont en quelque sorte eu un enfant de votre bash d'origine.

2
Sam96

Pour moi (ou toute personne utilisant un rapporteur, ce qui peut créer un serveur Selenium/WebDriver autonome), il me fallait taskkill le pilote Web spécifique qui exécutait mes tests.

Donc, juste un argument différent: ou votre chromedriver version peut varier

taskkill /f /im chromedriver_2.34.exe

Notez que votre pilote peut varier: IEDriverServer*.*.*.exe vs chromedriver_*.**exe

Votre pilote peut version peut varier: chromedriver_2.34.exe vs chromedriver_2.33.exe

Ce problème s'est aggravé après le rapporteur quitté sans fermer le navigateur automatisé/piloté par les tests, (en raison d'un problème distinct que je ne comprends pas encore.) Naturellement de nombreuses tâches chromedriver restent en cours d'exécution, c'est pourquoi vous les supprimez.

2
The Red Pea

Git réinstallé, il fonctionne maintenant bien.

1
prathesh p

Ouvrez votre gestionnaire de tâches, recherchez le processus "sh" et tuez-les . Bonne chance

1
Grace Nikole

Dans une version plus récente de git pour Windows, le processus à éliminer dans le gestionnaire de tâches était "GitExtensions.exe". Tué cela et les terminaux ont redémarré sans aucun problème.

1
Joe Shelby

J'ai essayé de tuer tous mes terminaux git dans le gestionnaire de tâches qui résout le problème… .. Cela fonctionne aussi pour moi… .. bonne chance.

1
Rahul Naiknaware

Si vous utilisez du code Visual Studio et que vous ne trouvez pas ssh-agent.exe ou que vous ne pouvez pas le supprimer, et après avoir ouvert Git Bash, vous obtenez cette erreur, accédez simplement à votre VSCode open Terminal> New Terminal et appuyez simplement sur l'icône de la corbeille le (Kill Terminal). Par exemple (1: bash) si vous avez plusieurs, tuez-les tous et vous devriez être bon. 

0
Justin Balaguer

Veuillez trouver le processus ssh-agent dans la fenêtre du gestionnaire de tâches . Après avoir arrêté ou supprimé le processus ssh-agent, l'erreur disparaîtra.

0
Sohan Jangid

Dans mon cas, le code de Visual Studio était en cours d’exécution et sa fermeture a résolu le problème.

0
mhand

Ouvrez le gestionnaire de tâches, trouvez le processus bash.exe et éliminez-le. A aidé dans mon cas.

0
Bahti

Windows 10 cela a fonctionné pour moi:

1) ouvrez cmd en tant qu'administrateur

2) type:

taskkill /f /im git-bash.exe


3) S'il y avait une erreur: Le processus "ssh-agent.exe" n'a pas été trouvé. puis:

type:

tasklist

4) Trouvez et tuez tous les processus avec des mots comme "bash" ou "git" (Cela peut être une solution dangereuse, mais une fois que vous trouverez le nom du processus, vous le saurez la prochaine fois.)

taskkill /f /im ***.exe
0
Radim Šafrán

Dans mon cas, cela est dû à l'ajout de code ssh-add dans mon fichier de démarrage .bashrc

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

l'enlever a résolu le problème

0
Sonic Soul

j'ai trouvé que tuer le terminal msys2 dans le gestionnaire de tâches résout le problème 

0
user2293554

Géré pour résoudre ce problème en fermant toutes les fenêtres de ligne de commande ouvertes.

0
Charith