-1 para todas as respostas atuais. Todas as variações de "basta matar o terminal e começar de novo". Qual é o problema subjacente? Por que não posso ter 100 terminais?
precisa saber é o seguinte
32
Eu tive esse problema para tal um longo tempo e nunca foi capaz de chegar ao fundo da questão. Parece que são aplicativos deixados em aberto que podem fazer com que alguns identificadores permaneçam abertos, mas no meu caso os processos do bash estavam sendo fechados e não há processos ssh por perto (estou usando mosh). Acabei de replicar o problema iniciando o vscode usando vscode .e fechando o terminal usado para abri-lo. Enquanto a janela vscode permanece aberta, parece que o Cygwin não deseja abrir mais terminais; assim que eu a fecho, ela funciona.
Elven Spellmaker
25
@ElvenSpellmaker você está certo, isso tem a ver com o code .meu caso também.
Bilal Khoukhi
15
Apenas por uma questão de confirmação: o problema de hoje também foi devido code .no meu caso. O fechamento do código VS resolveu o problema. Grande descoberta @ElvenSpellmaker
kb.
Respostas:
83
Encontrou um problema e solução semelhantes nos grupos do Google
Abri um prompt de comando do Windows e executei o comando
$ tasklist
Parece que as conexões ssh que eu fiz em minhas conchas do git bash não estavam sendo fechadas quando essas janelas estavam fechadas e estavam pendurando as janelas disponíveis do shell do git bash.
Esta pode ser uma solução perigosa, mas no prompt de comando do Windows eu corri
$ taskkill /F /IM ssh.exe
Tudo parece estar funcionando novamente depois disso. Pode não ter sido diretamente um problema de processos órfãos, mas isso funcionou pelo menos para mim.
Nota adicional: você também pode matar outros processos, por exemplo, como:
Este procedimento funcionou, embora, no meu caso, os culpados sejam node.exe(Node.js) e link.exe(link GNU). Portanto, talvez você precise procurar na lista de tarefas os processos culpados. Não sei por que, mas parece que os programas iniciados dentro das sessões do Bash podem, de alguma forma, sobreviver ao shell pai.
mamacdon
1
Obrigado Scott, este procedimento funcionou conforme mencionado por @mamacdon, mesmo no meu caso os culpados eram o node.exe.
S52 #
21
Para mim, eu tive que executar "taskkill / F / IM ssh-agent.exe", mas perto o suficiente para uma votação positiva.
Dylan Kapp
12
Eu tinha que matar NODE.EXE com o comandotaskkill /F /IM node.exe
Tarator
1
No meu caso (com Cygwin), era um único adb.exe que ainda estava em execução. Matando resolvido.
Diego Andrade
58
Vejo o problema no Windows no git bash quando mato meu console do git bash sem usar exit. Eu encontrei a tarefa de matar ssh-agent.exe do gerenciador de tarefas do Windows para corrigir o problema.
Isso funcionou inicialmente. Agora eu ainda o entendo, mesmo depois de matar o ssh-agent.exe.
Leo
1
Esta é uma solução de curto prazo. o problema retorna eventualmente. esperando que exista uma maneira mais permanente de corrigir esse problema #
Sonic Soul
1
Também descobri que o Node às vezes também fica rodando, apenas matando isso parecia resolver o problema para mim.
MusicDev 7/08/19
Após matar o processo "sh.exe", o problema foi resolvido. Obrigado a todos.
maris
Matar "winpty-agent.exe" funcionou para mim.
demstair 15/06
48
No meu caso, isso estava relacionado ao uso do código VS. Anteriormente, eu abri o código VS usando um terminal git bash e executando
code .
depois fechando o terminal.
O problema é resolvido fechando todas as janelas de código VS abertas.
Quando você tem um editor ou IDE configurado para abrir um terminal como git bash, quando o IDE / IDE está em execução, o git bash alterna entre "C: \ Windows \ System32 \ bash.exe" e qualquer outra tentativa de abrir o bash a partir de uma janela separada provavelmente trava.
A melhor solução é eliminar o bash do IDE / Editor e abrir a partir de uma nova janela ou continuar no comando IDE / Editor.
E se isso não funcionar, reinstale a sua máquina ou compre uma nova.
john16384
6
Para mim (ou qualquer pessoa executando o transferidor, que pode gerar um servidor Selenium / WebDriver autônomo), eu precisava taskkilldo webdriver específico que estava executando meus testes.
Portanto, apenas um argumento diferente: ou sua versão do chromedriver pode variar
taskkill /f /im chromedriver_2.34.exe
Observe que seu driver pode variar:
IEDriverServer*.*.*.exevschromedriver_*.**exe
A versão do seu driver pode variar: chromedriver_2.34.exevschromedriver_2.33.exe
Esse problema piorou depois que o transferidor saiu sem fechar o navegador automatizado / controlado por teste (devido a um problema separado que ainda não entendi.) Naturalmente, muitas chromedrivertarefas permanecem em execução, é por isso que as mata.
Sim, este foi o meu problema. Eu tenho um script de conveniência que usa o Selenium para buscar algumas coisas de alguns sites onde o curl e o wget não podem ser usados devido ao processamento do JavaScript. Enfim, eu costumo executar isso uma vez pela manhã e às vezes fica desligado. Eu nunca fiz a correlação com esse erro cygwin até que vi este post, então OBRIGADO! Vou atualizar o script que chama selênio para matar o processo chromedriver.exe antes de sair.
Beaudet
6
Abra o gerenciador de tarefas e mate o processo com o nome bash, isso funcionou para mim.
Isso acontece quando você sai do git bash sem encerrar o processo existente. Apenas tente matar os processos que você iniciou no git bash. Eu estava executando o processo do nó dentro do git bash, então matei todos os processos do nó Etapas para matar
No meu caso, foi adb shell. Então eu corri adb kill-serverem uma janela já aberta e consertou isso para mim. +1
lucidbrot 16/05/19
Trabalhou. Mas que diabos ... Eu não uso nenhum node.js há meses ... Por que estava funcionando?
JMI MADISON
5
finalmente descobri o que estava causando isso.
se usarmos código como este (explícita ou implicitamente), ou seja, no .bashrcarquivo
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
gera um novo processo.
se você não sair e fechar a janela, esse processo ainda está em execução. portanto, cada nova festança aberta continua adicionando novas sem eliminar as antigas.
Quando terminar com uma janela do bash, basta pressionar ctrl+dou digitar exitpara interromper o processo do agente e você não deve ficar sem garfos.
Parece ser um problema com os processos lançados a partir do git bash, como o @mamacdon sugerido em seu comentário à resposta do @Scott Newson.
Para mim, o problema apareceu se eu lançasse um vscode do bash com codee se essa instância do vscode iniciasse um terminal git integrado enquanto o bash original ainda estava em execução.
Não importa se esse terminal foi lançado no início ou mais tarde, desde que o bash original ainda estivesse em execução.
Não aconteceu quando o bash foi fechado antes da abertura do terminal integrado. Não diferenciava exite fechava o bash pelas janelas. Não aconteceu com outra janela antiga do bash ainda em execução.
A maneira de lidar com isso foi fechar os terminais no vscode com exitou 'Kill Terminal' (tenha cuidado para não misturar isso com o 'painel de fechamento') ou, é claro, fechar o próprio vscode.
Se você receber esse erro, tente se lembrar do que você lançou a partir do bash e mate-o. Se as outras respostas funcionaram para você, provavelmente essas são as coisas iniciadas pelo seu bash ou iniciadas pelos processos que você iniciou a partir do bash e, de alguma forma, elas estavam recebendo um filho do seu bash original.
Se você está usando o Visual Studio Code e não consegue encontrar o ssh-agent.exe ou não pode executá-lo, e após abrir o Git Bash, você recebe esse erro, basta ir ao seu VSCode, abra Terminal> Novo Terminal e pressione o ícone da lixeira o (Kill Terminal). por exemplo (1: bash) se você tiver vários, basta matar todos eles e você deve ser bom.
Em uma versão mais recente do git for windows, o processo para matar no gerenciador de tarefas era "GitExtensions.exe". Matou isso e os terminais foram reiniciados sem problemas.
Não sei por que isso está diminuindo o voto, funcionou para mim. Além disso, o código do visual studio pode gerar terminais, portanto, não é de surpreender que isso possa afetar esse problema.
3) Se houve um erro: O processo "ssh-agent.exe" não foi encontrado. então:
tipo:
tasklist
4) Encontre e mate todos os processos com palavras como "bash" ou "git" (essa pode ser uma solução perigosa, mas depois de encontrar o nome do processo, da próxima vez você saberá.)
"Se isso não funcionar, tente cortar a energia do seu prédio e conecte-o novamente. Se isso não funcionar, tente ligar para a empresa de eletricidade local e peça para que cortem a energia de todo o bairro por um período alguns momentos ... etc "
refaelio 29/10/19
1
lol eu fiz o mesmo, os sons solução muito bobo, mas funciona muito bem :)
mosh
). Acabei de replicar o problema iniciando o vscode usandovscode .
e fechando o terminal usado para abri-lo. Enquanto a janela vscode permanece aberta, parece que o Cygwin não deseja abrir mais terminais; assim que eu a fecho, ela funciona.code .
meu caso também.code .
no meu caso. O fechamento do código VS resolveu o problema. Grande descoberta @ElvenSpellmakerRespostas:
Encontrou um problema e solução semelhantes nos grupos do Google
Nota adicional: você também pode matar outros processos, por exemplo, como:
fonte
node.exe
(Node.js) elink.exe
(link GNU). Portanto, talvez você precise procurar na lista de tarefas os processos culpados. Não sei por que, mas parece que os programas iniciados dentro das sessões do Bash podem, de alguma forma, sobreviver ao shell pai.taskkill /F /IM node.exe
Vejo o problema no Windows no git bash quando mato meu console do git bash sem usar exit. Eu encontrei a tarefa de matar ssh-agent.exe do gerenciador de tarefas do Windows para corrigir o problema.
fonte
No meu caso, isso estava relacionado ao uso do código VS. Anteriormente, eu abri o código VS usando um terminal git bash e executando
depois fechando o terminal.
O problema é resolvido fechando todas as janelas de código VS abertas.
Quando você tem um editor ou IDE configurado para abrir um terminal como git bash, quando o IDE / IDE está em execução, o git bash alterna entre "C: \ Windows \ System32 \ bash.exe" e qualquer outra tentativa de abrir o bash a partir de uma janela separada provavelmente trava.
A melhor solução é eliminar o bash do IDE / Editor e abrir a partir de uma nova janela ou continuar no comando IDE / Editor.
fonte
Abordo isso com uma solução alternativa:
Deve estar tudo bem agora.
fonte
Para facilitar a vida (esse problema ocorre com frequência), crie um arquivo chamado
fixbash.bat
no diretório inicial e cole:taskkill /F /IM ssh-agent.exe
Quando o problema ocorrer, basta abrir
cmd
e digitefixbash.bat
para corrigir um problema.Ou
Basta colar o comando taskkill no seu
cmd
se você não quiser criar um script.fonte
ERROR: The process "ssh-agent.exe" not found.
Reinicie sua máquina.
(As outras respostas não funcionaram para mim. (Não tentei reinstalar. Reiniciar é provavelmente mais rápido.))
fonte
Para mim (ou qualquer pessoa executando o transferidor, que pode gerar um servidor Selenium / WebDriver autônomo), eu precisava
taskkill
do webdriver específico que estava executando meus testes.Portanto, apenas um argumento diferente: ou sua versão do chromedriver pode variar
Observe que seu driver pode variar:
IEDriverServer*.*.*.exe
vschromedriver_*.**exe
A versão do seu driver pode variar:
chromedriver_2.34.exe
vschromedriver_2.33.exe
Esse problema piorou depois que o transferidor saiu sem fechar o navegador automatizado / controlado por teste (devido a um problema separado que ainda não entendi.) Naturalmente, muitas
chromedriver
tarefas permanecem em execução, é por isso que as mata.fonte
Abra o gerenciador de tarefas e mate o processo com o nome bash, isso funcionou para mim.
fonte
Isso acontece quando você sai do git bash sem encerrar o processo existente. Apenas tente matar os processos que você iniciou no git bash. Eu estava executando o processo do nó dentro do git bash, então matei todos os processos do nó Etapas para matar
fonte
adb shell
. Então eu corriadb kill-server
em uma janela já aberta e consertou isso para mim. +1finalmente descobri o que estava causando isso.
se usarmos código como este (explícita ou implicitamente), ou seja, no
.bashrc
arquivogera um novo processo.
se você não sair e fechar a janela, esse processo ainda está em execução. portanto, cada nova festança aberta continua adicionando novas sem eliminar as antigas.
Quando terminar com uma janela do bash, basta pressionar
ctrl+d
ou digitarexit
para interromper o processo do agente e você não deve ficar sem garfos.fonte
Parece ser um problema com os processos lançados a partir do git bash, como o @mamacdon sugerido em seu comentário à resposta do @Scott Newson.
Para mim, o problema apareceu se eu lançasse um vscode do bash com
code
e se essa instância do vscode iniciasse um terminal git integrado enquanto o bash original ainda estava em execução.Não importa se esse terminal foi lançado no início ou mais tarde, desde que o bash original ainda estivesse em execução.
Não aconteceu quando o bash foi fechado antes da abertura do terminal integrado. Não diferenciava
exit
e fechava o bash pelas janelas. Não aconteceu com outra janela antiga do bash ainda em execução.A maneira de lidar com isso foi fechar os terminais no vscode com
exit
ou 'Kill Terminal' (tenha cuidado para não misturar isso com o 'painel de fechamento') ou, é claro, fechar o próprio vscode.Se você receber esse erro, tente se lembrar do que você lançou a partir do bash e mate-o. Se as outras respostas funcionaram para você, provavelmente essas são as coisas iniciadas pelo seu bash ou iniciadas pelos processos que você iniciou a partir do bash e, de alguma forma, elas estavam recebendo um filho do seu bash original.
fonte
Se você está usando o Visual Studio Code e não consegue encontrar o ssh-agent.exe ou não pode executá-lo, e após abrir o Git Bash, você recebe esse erro, basta ir ao seu VSCode, abra Terminal> Novo Terminal e pressione o ícone da lixeira o (Kill Terminal). por exemplo (1: bash) se você tiver vários, basta matar todos eles e você deve ser bom.
fonte
No meu caso, preciso matar o Git bash no Windows. Prompt de comando aberto e executado abaixo do comando
Ele listará todas as tarefas em execução e precisará matar a tarefa bash.exe usando o comando abaixo
fonte
Abra seu gerenciador de tarefas, pesquise processos "sh" e mate-os. Boa sorte
fonte
No meu caso, a solução foi fechar o código do Visual Studio - onde eu tinha o console em execução também sem perceber -
Depois de fechar tudo de volta ao normal. Espero que isso ajude alguém.
fonte
Eu tentei matar todos os meus terminais git no gerenciador de tarefas resolve o problema. Isso funciona para mim também. boa sorte.
fonte
Em uma versão mais recente do git for windows, o processo para matar no gerenciador de tarefas era "GitExtensions.exe". Matou isso e os terminais foram reiniciados sem problemas.
fonte
Encontre o processo ssh-agent na janela do Gerenciador de tarefas. Depois de parar ou interromper o processo ssh-agent, o erro desaparecerá.
fonte
No meu caso, eu tinha o código do visual studio em execução e o fechamento resolveu o problema.
fonte
Reinstalado o git, agora está funcionando bem.
fonte
eu descobri que matar o terminal msys2 no gerenciador de tarefas resolve o problema
fonte
Abra o Gerenciador de tarefas, encontre o processo bash.exe e mate-o. Ajudou no meu caso.
fonte
Windows 10 isso funcionou para mim:
1) abra o cmd como administrador
2) tipo:
3) Se houve um erro: O processo "ssh-agent.exe" não foi encontrado. então:
tipo:
4) Encontre e mate todos os processos com palavras como "bash" ou "git" (essa pode ser uma solução perigosa, mas depois de encontrar o nome do processo, da próxima vez você saberá.)
fonte
Para o Windows, no gerenciador de tarefas, mate o sh.exe.
fonte
No meu caso, eu tinha um abd.exe perdido que ainda estava aberto no gerenciador de tarefas. Matá-lo corrigiu o problema.
fonte
No sistema bash, digite:
ps
Mate qualquer processo de má aparência:
kill -9 <ID>
Trabalhou para mim.
fonte
Apenas reinicie sua máquina. Ao reiniciar nossa máquina, esse problema foi resolvido, experimente.
fonte