git - remote - pull request
Error de Git bash: no se pudo bifurcar el proceso secundario: no hay terminales disponibles(-1) (21)
Abordo esto con una solución alternativa:
- Cierre la ventana de Git Bash.
- Administrador de tareas abierto.
- Encuentra el proceso ''Git para Windows''.
- Mátalo.
- Abre Git Bash.
Debería estar bien ahora.
Abra el administrador de tareas y elimine el proceso con el nombre bash, esto funcionó para mí.
Abre el Administrador de tareas, encuentra el proceso bash.exe y mátalo. Ayudado en mi caso.
Abre tu administrador de tareas, busca procesos "sh" y mátalos. Buena suerte
En el sistema bash type:
ps
Mata cualquier proceso de mala apariencia:
kill -9 <ID>
Trabajó para mi.
En mi caso, tenía el código visual del estudio ejecutándose y al cerrarlo resolvió el problema.
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.
Encontré un problema similar y una posible solución aquí: https://groups.google.com/forum/#!topic/git-for-windows/EO27WWvHx64
No estoy seguro de si todavía tienen problemas con esto, pero encontré una solución muy simple que funcionó para mí. 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í. ¡Buena suerte!
Encuentre el proceso ssh-agent en la ventana del Administrador de tareas. Después de detener o eliminar el proceso ssh-agent, el error desaparecerá.
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
- Administrador de tareas abierto
- Ir a la pestaña Detalles
- Busque node.exe (busca sus procesos)
- Mátalo todos y cada uno de los procesos de nodo
- Abre Git Bash nuevamente
Para hacer la vida más fácil (este problema ocurre con bastante frecuencia) cree un archivo llamado
fixbash.bat
en el directorio de inicio y péguelo:
taskkill /F /IM ssh-agent.exe
Cuando se produce un problema, simplemente abra
cmd
y escriba
fixbash.bat
para solucionar un problema.
O
Simplemente pegue el comando taskkill en su
cmd
si no desea crear un script.
Para mí (o cualquier persona que ejecute un transportador, que puede activar un servidor Selenium / WebDriver independiente), necesitaba
taskkill
el
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*.*.*.exe
vs
chromedriver_*.**exe
La
versión de
su controlador puede variar:
chromedriver_2.34.exe
vs
chromedriver_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 por separado que aún no entiendo). Naturalmente, muchas tareas de
chromedriver
siguen ejecutándose, por eso las matan.
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 distinguió entre
exit
y cerrar bash a través de ventanas.
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
o ''Kill Terminal'' (tenga cuidado de no mezclar eso con ''cerrar panel''), o por supuesto, cerrar vscode en sí.
Si recibe 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.
Reinicia tu máquina.
(Las otras respuestas no funcionaron para mí. (No intenté reinstalar. El reinicio probablemente sea más rápido))
Reinstalado git, ahora funciona bien.
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.
Simplemente reinicie su máquina, mientras reinicia nuestra máquina este problema está resuelto pruébelo.
Traté de matar a todos mis terminales git en el administrador de tareas resuelve el problema. Esto también funciona para mí. buena suerte.
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.
descubrí que matar el terminal msys2 en el administrador de tareas resuelve el problema
finalmente descubrí qué estaba causando esto.
si usamos código como este (explícita o implícitamente), es decir, en el archivo
.bashrc
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
ctrl+d
o escriba
exit
para eliminar el proceso del agente, y no debe quedarse sin tenedores.