Error de Git bash: no se pudo bifurcar el proceso secundario: no hay terminales disponibles (-1)


191

He tenido hasta 8 terminales git bash ejecutándose al mismo tiempo antes.

Actualmente solo tengo 2 para arriba.

No he visto este error antes y no entiendo qué lo está causando.

¡Cualquier ayuda sería apreciada!

Imagen adjunta:

ingrese la descripción de la imagen aquí


10
matar el proceso bash funcionó para mí.
bfranzen

37
-1 a todas las respuestas actuales. Todas las variaciones de "simplemente matar terminal y comenzar de nuevo". ¿Cuál es el problema subyacente? ¿Por qué no puedo tener 100 terminales?
RJFalconer

32
He tenido este problema para tal mucho tiempo y nunca ha sido capaz de llegar al fondo del mismo. Parece ser que las aplicaciones que se dejan abiertas pueden hacer que algunos controladores permanezcan abiertos, pero en mi caso los procesos bash se estaban cerrando y no hay procesos ssh (estoy usando mosh). Acabo de poder replicar el problema iniciando vscode usando vscode .y luego cerrando el terminal utilizado para abrirlo. Si bien la ventana vscode permanece abierta, parece que Cygwin no quiere abrir más terminales, tan pronto como la cierro, funciona.
Elven Spellmaker

25
@ElvenSpellmaker tienes razón, también tiene que ver code .en mi caso.
Bilal Khoukhi el

15
Solo por el bien de la confirmación: Encontré el problema hoy, también se debió code .en mi caso. El cierre de VS Code solucionó el problema. Gran descubrimiento @ElvenSpellmaker
kb.

Respuestas:


83

Encontró un problema y una solución similares en los grupos de Google

Abrí un símbolo del sistema de Windows y ejecuté el comando

$ tasklist

Parece que las conexiones ssh que había hecho en mis shells git bash no estaban cerradas cuando esas ventanas estaban cerradas y colgaban las ventanas disponibles de git bash shell.

Esta puede ser una solución peligrosa, pero desde el símbolo del sistema de Windows ejecuté

$ taskkill /F /IM ssh.exe 

Todo parece estar funcionando nuevamente después de esto. Puede que no haya sido directamente un problema de procesos huérfanos, pero esto funcionó al menos para mí.

Nota adicional: también puede eliminar otros procesos, por ejemplo, como:

$ taskkill /F /IM vim.exe

66
Este procedimiento funcionó, aunque en mi caso los culpables fueron node.exe(Node.js) y link.exe(GNU link). Por lo tanto, es posible que deba buscar en la lista de tareas los procesos de culpabilidad. No estoy seguro de por qué, pero parece que los programas lanzados desde las sesiones de Bash pueden de alguna manera sobrevivir a su shell principal.
mamacdon

1
Gracias Scott, este procedimiento funcionó según lo mencionado por @mamacdon, incluso en mi caso los culpables fueron node.exe.
S52

21
Para mí, tuve que realizar "taskkill / F / IM ssh-agent.exe" pero lo suficientemente cerca para un voto positivo.
Dylan Kapp

12
Tuve que matar node.exe con el comandotaskkill /F /IM node.exe
Tarator

1
En mi caso (con Cygwin) era un único adb.exe que todavía se estaba ejecutando. Matarlo resuelto.
Diego Andrade

58

Veo el problema en Windows en git bash cuando apago mi consola git bash sin usar exit. Encontré la tarea de matar ssh-agent.exe del administrador de tareas de Windows para solucionar el problema.


44
Esto funcionó inicialmente. Ahora todavía lo entiendo, incluso después de matar ssh-agent.exe.
Leo

1
Esta es una solución a corto plazo. El problema vuelve eventualmente. esperando que haya una forma más permanente de solucionar este problema
Sonic Soul

1
También descubrí que Node a veces también se deja en ejecución, solo matar eso parecía resolver el problema para mí.
MusicDev

después de matar el proceso "sh.exe", el problema se resolvió. Gracias a todos.
maris

Matar "winpty-agent.exe" funcionó para mí.
demstair

48

En mi caso, estaba relacionado con el uso del código VS. Anteriormente, he abierto el código VS usando un terminal git bash y ejecutando

code .

luego cerrando la terminal.

El problema se resuelve cerrando todas las ventanas de código VS abiertas.

Cuando tiene un editor o IDE configurado para abrir un terminal como git bash, cuando el IDE / IDE se está ejecutando, git bash activará bash desde "C: \ Windows \ System32 \ bash.exe" y cualquier otro intento de abrir bash desde una ventana separada es probable que se bloquee.

La mejor solución es matar el basurero IDE / Editor y abrir desde una nueva ventana o continuar desde el comando IDE / Editor.


44
Gracias, fue el mismo problema conmigo
Tarun Nagpal

1
¡Trabajado como un encanto! ¡Gracias!
jrend

1
Tuve el mismo problema Debería abrir vs código en cmd.
Richard

Exactamente el mismo problema. Gracias.
Lucien Lu

exactamente el mismo problema. Gracias de todos modos.
amar profundo

33

Abordo esto con una solución alternativa:

  1. Cierre la ventana de Git Bash.
  2. Administrador de tareas abierto.
  3. Encuentra el proceso 'Git para Windows'.
  4. Mátalo.
  5. Abre Git Bash.

Debería estar bien ahora.


3
La solución más fácil. Tan sencillo
JkAlombro

2
En mi caso, tenía bash.exe ejecutándose, y simplemente lo maté.
Gilberto Albino

8

Para hacer la vida más fácil (este problema ocurre con bastante frecuencia) cree un archivo llamado fixbash.baten el directorio de inicio y péguelo:

taskkill /F /IM ssh-agent.exe

Cuando se produce un problema, simplemente ábralo cmdy escriba fixbash.batpara solucionarlo.

O

Simplemente pegue el comando taskkill en su cmdsi no desea crear un script.


2
regresa:ERROR: The process "ssh-agent.exe" not found.
Jesse Reza Khorasanee

Esta solución funcionó para mí. Sin embargo, debe ir al administrador de tareas y eliminar todos los ssh-agent.exe ya que puede haber muchos
Java Main

6

Reinicia tu máquina.

(Las otras respuestas no funcionaron para mí. (No intenté reinstalar. Reiniciar es probablemente más rápido))


3
Y si eso no funciona, reinstale su máquina o compre una nueva.
john16384

6

Para mí (o cualquier persona que ejecute transportador, que puede activar un servidor Selenium / WebDriver independiente), necesitaba taskkillel controlador web específico que estaba ejecutando mis pruebas.

Entonces, solo un argumento diferente: o su versión de chromedriver puede variar

taskkill /f /im chromedriver_2.34.exe

Tenga en cuenta que su controlador puede variar: IEDriverServer*.*.*.exevschromedriver_*.**exe

Su versión de controlador puede variar: chromedriver_2.34.exevschromedriver_2.33.exe

Este problema empeoró después de que el transportador se cerró sin cerrar el navegador automatizado / controlado por pruebas (debido a un problema separado que aún no entiendo). Naturalmente, muchas chromedrivertareas siguen ejecutándose, por eso las eliminan.


3
Sí, este fue mi problema. Tengo un script de conveniencia que usa Selenium para obtener algunas cosas de algunos sitios web donde curl y wget no se pueden usar debido a que tienen que procesar JavaScript. De todos modos, generalmente corro esto una vez en la mañana y a veces se cuelga. Nunca hice la correlación con este error de Cygwin hasta que vi esta publicación, ¡así que GRACIAS! Voy a actualizar el script que llama al selenio para matar el proceso chromedriver.exe antes de salir.
beaudet

6

Abra el administrador de tareas y elimine el proceso con name bash, esto funcionó para mí.


6

Esto sucede cuando sale de git bash sin terminar el proceso existente. Solo intenta matar esos procesos que comenzaste desde git bash. Estaba ejecutando el proceso de nodo dentro de git bash, así que eliminé todos los procesos de nodo Pasos para matar

  1. Administrador de tareas abierto
  2. Ir a la pestaña Detalles
  3. Busque node.exe (busca sus procesos)
  4. Mátalo todos y cada uno de los procesos de nodo
  5. Abre Git Bash nuevamente

2
En mi caso lo fue adb shell. Así que corrí adb kill-serveren una ventana ya abierta y me lo arregló. +1
lucidbrot

Trabajó. Pero qué demonios ... no he hecho ningún node.js en meses ... ¿Por qué estaba funcionando?
JMI MADISON

5

finalmente descubrí qué estaba causando esto.

si usamos código como este (explícita o implícitamente) es decir, en el .bashrcarchivo

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

genera un nuevo proceso.

Si no sale y simplemente cierra la ventana, ese proceso aún se está ejecutando. así que cada nuevo bash abierto sigue agregando nuevos sin desechar los viejos.

cuando haya terminado con una ventana bash, simplemente presione ctrl+do escriba exitpara matar el proceso del agente, y no debe quedarse sin tenedores.


3

Parece ser un problema con los procesos lanzados desde el git bash, como sugirió @mamacdon en su comentario sobre la respuesta principal de @Scott Newson.

Para mí, el problema apareció si lancé un vscode desde el bash con code, y si esta instancia de vscode lanzó un terminal git integrado mientras el bash original todavía se estaba ejecutando.

No importa si ese terminal se lanzó al inicio o más tarde, siempre que fuera mientras el bash original todavía se estaba ejecutando.

No sucedió cuando se cerró la fiesta antes de que se abriera la terminal integrada. No diferenciar entre exity cerrar bash a través de windows. No sucedió con otra ventana de bash más antigua aún ejecutándose.

La forma de lidiar con eso fue para mí cerrar las terminales en vscode con exit 'Kill Terminal' (tenga cuidado de no mezclar eso con 'cerrar panel'), o por supuesto, cerrar vscode en sí.

Si obtiene este error, intente recordar lo que lanzó desde el bash y elimínelo. Si las otras respuestas funcionaron para usted, probablemente es solo que estas son las cosas iniciadas por su bash o iniciadas por los procesos que lanzó desde el bash y de alguna manera estaban obteniendo un hijo de su bash original.


3

Si está utilizando Visual Studio Code y no puede encontrar ssh-agent.exe o no puede ejecutarlo y después de abrir Git Bash obtiene ese error, simplemente vaya a su VSCode, abra Terminal> Nueva Terminal y simplemente presione el icono de la papelera la (Terminal de matar). por ejemplo (1: bash) si tienes múltiples, simplemente mátalos a todos y deberías ser bueno.


3

En mi caso, necesito matar a Git bash en Windows. Entonces abrí el símbolo del sistema y ejecuté debajo del comando

$ tasklist

Enumerará todas las tareas en ejecución, luego deberá eliminar la tarea bash.exe utilizando el siguiente comando

$ taskkill /F /IM bash.exe 

2

Abre tu administrador de tareas, busca procesos "sh" y mátalos. Buena suerte


2

En mi caso, la solución fue cerrar Visual Studio Code -donde tenía la consola ejecutándose también sin notarlo-

Después de cerrar todo de nuevo a la normalidad. Espero que esto ayude a alguien.


1

Traté de matar todos mis terminales git en el administrador de tareas resuelve el problema. Esto también funciona para mí. buena suerte.


1

En una versión más reciente de git para windows, el proceso para matar en el administrador de tareas fue "GitExtensions.exe". Mató eso y las terminales se reiniciaron sin problemas.


1

Busque el proceso ssh-agent en la ventana del Administrador de tareas. Después de detener o eliminar el proceso ssh-agent, el error desaparecerá.


1

En mi caso, tenía el código visual de estudio ejecutándose y al cerrarlo resolvió el problema.


1
No estoy seguro de por qué esto se está rechazando, funcionó para mí. Además, el código visual de estudio puede tener terminales de generación, por lo que no es sorprendente que pueda afectar este problema.
Jesse Reza Khorasanee


0

descubrí que matar el terminal msys2 en el administrador de tareas resuelve el problema


0

Abre el Administrador de tareas, encuentra el proceso bash.exe y mátalo. Ayudado en mi caso.


0

Windows 10 esto funcionó para mí:

1) abre cmd como administrador

2) tipo:

taskkill /f /im git-bash.exe


3) Si hubo un error: no se encontró el proceso "ssh-agent.exe". luego:

tipo:

tasklist

4) Encuentre y elimine cada proceso con palabras como "bash" o "git" (esta puede ser una solución peligrosa, pero una vez que encuentre el nombre del proceso, la próxima vez lo sabrá).

taskkill /f /im ***.exe


0

En mi caso, tenía un abd.exe perdido que todavía estaba abierto en el administrador de tareas. Matarlo solucionó el problema.


-1

En el sistema bash type:

ps

Mata cualquier proceso de mala apariencia:

kill -9 <ID>

Trabajó para mi.


-1

Simplemente reinicie su máquina, mientras reinicia nuestra máquina este problema está resuelto pruébelo.


44
"Si eso no funciona, intente cortar la electricidad a su edificio, luego vuelva a enchufarlo. Si eso no funciona, intente llamar a la compañía eléctrica local y pídales que corten la electricidad a todo el vecindario para un unos momentos ... etc "
refaelio

1
lol hice lo mismo, la solución suena bastante tonta, pero funciona bien :)
zeroDivider
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.