Den Bash-Prozess zu beenden hat bei mir funktioniert.
bfranzen
35
-1 zu allen aktuellen Antworten. Alle Variationen von "einfach das Terminal töten und neu starten". Was ist das zugrunde liegende Problem? Warum kann ich nicht 100 Terminals haben?
RJFalconer
31
Ich habe dieses Problem schon so lange und konnte es nie auf den Grund gehen. Es scheinen Anwendungen zu sein, die offen bleiben, was dazu führen kann, dass einige Handles offen bleiben, aber in meinem Fall wurden die Bash-Prozesse geschlossen und es gibt keine SSH-Prozesse (ich verwende mosh). Ich konnte das Problem gerade replizieren, indem ich vscode mit vscode .und zum Schließen des Terminals startete, mit dem es geöffnet wurde. Während das vscode-Fenster geöffnet bleibt, scheint Cygwin keine weiteren Terminals öffnen zu wollen. Sobald ich es schließe, funktioniert es.
Elven Spellmaker
25
@ ElvenSpellmaker du hast recht, das hat auch code .in meinem Fall damit zu tun .
Bilal Khoukhi
15
Nur zur Bestätigung: Heute auf das Problem gestoßen, lag auch an code .meinem Fall. Durch Schließen von VS Code wurde das Problem behoben. Toller Fund @ElvenSpellmaker
kb.
Antworten:
83
In Google Groups wurde ein ähnliches Problem und eine ähnliche Lösung gefunden
Ich habe eine Windows-Eingabeaufforderung geöffnet und den Befehl ausgeführt
$ tasklist
Es sieht so aus, als ob die SSH-Verbindungen, die ich in meinen Git-Bash-Shells hergestellt hatte, nicht geschlossen wurden, als diese Fenster geschlossen waren und die verfügbaren Git-Bash-Shell-Fenster hingen.
Dies mag eine gefährliche Lösung sein, aber über die Windows-Eingabeaufforderung habe ich ausgeführt
$ taskkill /F /IM ssh.exe
Danach scheint alles wieder zu funktionieren. Es war vielleicht nicht direkt ein Problem von verwaisten Prozessen, aber das hat zumindest für mich funktioniert.
Zusätzlicher Hinweis: Sie können auch andere Prozesse beenden, z. B.:
Dieses Verfahren hat funktioniert, obwohl in meinem Fall die Schuldigen node.exe(Node.js) und link.exe(GNU-Link) waren. Möglicherweise müssen Sie also die Aufgabenliste nach den Schuldprozessen durchsuchen. Ich bin mir nicht sicher warum, aber es scheint, dass Programme, die aus Bash-Sitzungen heraus gestartet werden, ihre übergeordnete Shell irgendwie überleben können.
Mamacdon
1
Vielen Dank, Scott. Dieses Verfahren hat wie von @mamacdon erwähnt funktioniert, auch wenn in meinem Fall die Schuldigen node.exe waren.
S52
21
Für mich musste ich "taskkill / F / IM ssh-agent.exe" ausführen, aber nah genug für eine Abstimmung.
Dylan Kapp
12
Ich musste node.exe mit dem Befehltaskkill /F /IM node.exe
Tarator
1
In meinem Fall (mit Cygwin) war es eine einzelne adb.exe, die noch lief. Töten gelöst.
Diego Andrade
58
Ich sehe das Problem unter Windows in Git Bash, wenn ich meine Git Bash-Konsole ohne Exit töte. Ich habe festgestellt, dass die Aufgabe ssh-agent.exe im Windows Task-Manager beendet wurde, um das Problem zu beheben.
Dies funktionierte zunächst. Jetzt verstehe ich es immer noch, auch nachdem ich ssh-agent.exe getötet habe.
Leo
1
Dies ist eine kurzfristige Lösung. Das Problem kehrt schließlich zurück. Ich hoffe, es gibt einen dauerhafteren Weg, um dieses Problem zu beheben
Sonic Soul
1
Ich fand auch heraus, dass Node manchmal auch am Laufen bleibt, nur das Töten schien das Problem für mich zu lösen.
MusicDev
Nach dem Beenden des Prozesses "sh.exe" wurde das Problem behoben. Vielen Dank an alle.
Maris
Das Töten von "winpty-agent.exe" hat bei mir funktioniert.
Demstair
46
In meinem Fall war es mit der Verwendung von VS-Code verbunden. Zuvor habe ich VS-Code mit einem Git-Bash-Terminal geöffnet und ausgeführt
code .
dann das Terminal schließen.
Das Problem wird gelöst, indem alle geöffneten VS-Codefenster geschlossen werden.
Wenn Sie einen Editor oder eine IDE so konfiguriert haben, dass ein Terminal als Git-Bash geöffnet wird, wird bei Ausführung der IDE / IDE die Git-Bash von "C: \ Windows \ System32 \ bash.exe" und jedem anderen Versuch gestartet Open Bash aus einem separaten Fenster kann abstürzen.
Die beste Lösung besteht darin, die IDE / Editor-Bash zu beenden und in einem neuen Fenster zu öffnen oder mit dem Befehl IDE / Editor fortzufahren.
In meinem Fall hatte ich bash.exe ausgeführt und töte es einfach.
Gilberto Albino
8
Um das Leben zu erleichtern (dieses Problem tritt häufig auf), erstellen Sie eine Datei, die fixbash.batim Home-Verzeichnis aufgerufen wird, und fügen Sie Folgendes ein:
taskkill /F /IM ssh-agent.exe
Wenn ein Problem auftritt, öffnen Sie es cmdund geben Sie es ein fixbash.bat, um ein Problem zu beheben.
Oder
Fügen cmdSie einfach den Befehl taskkill in Ihren ein, wenn Sie kein Skript erstellen möchten.
Rückkehr:ERROR: The process "ssh-agent.exe" not found.
Jesse Reza Khorasanee
Diese Lösung hat bei mir funktioniert. Sie müssen jedoch zum Task-Manager gehen und alle ssh-agent.exe beenden, da es viele geben kann
Java Main
6
Starten Sie Ihren Computer neu.
(Die anderen Antworten haben bei mir nicht funktioniert. (Ich habe nicht versucht, sie neu zu installieren. Der Neustart ist wahrscheinlich schneller.))
Und wenn das nicht funktioniert, installieren Sie Ihre Maschine neu oder kaufen Sie eine neue.
John16384
6
Für mich (oder jeden, der Winkelmesser ausführt , der möglicherweise einen eigenständigen Selenium / WebDriver-Server hochfährt ), musste ich taskkillden spezifischen Web-Treiber verwenden dem meine Tests ausgeführt wurden.
Also nur ein anderes Argument: oder Ihre Chromedriver- Version kann variieren
taskkill /f /im chromedriver_2.34.exe
Beachten Sie, dass Ihr Fahrer variieren kann:
IEDriverServer*.*.*.exevs.chromedriver_*.**exe
Ihr Fahrer kann Version kann unterschiedlich sein : chromedriver_2.34.exevschromedriver_2.33.exe
Dieses Problem wurde schlimmer, nachdem der Winkelmesser beendet wurde, ohne den automatisierten / testgesteuerten Browser zu schließen (aufgrund eines separaten Problems, das ich noch nicht verstehe). Natürlich werden noch viele chromedriverAufgaben ausgeführt, weshalb sie getötet werden.
Ja, das war mein Problem. Ich habe ein Convenience-Skript, das Selenium verwendet, um einige Inhalte von Websites abzurufen, auf denen Curl und Wget nicht verwendet werden können, da JavaScript verarbeitet werden muss. Wie auch immer, ich laufe das normalerweise einmal am Morgen und manchmal wird es aufgehängt. Ich habe die Korrelation mit diesem Cygwin-Fehler erst hergestellt, als ich diesen Beitrag gesehen habe. DANKE! Ich werde das Skript aktualisieren, das Selen aufruft, um den Prozess chromedriver.exe vor dem Beenden zu beenden.
Beaudet
6
Öffnen Sie den Task-Manager und beenden Sie den Prozess mit Name Bash. Dies hat bei mir funktioniert.
Dies geschieht, wenn Sie git bash beenden, ohne den vorhandenen Prozess zu beenden. Versuchen Sie einfach, die Prozesse zu beenden, die Sie mit git bash gestartet haben. Ich habe den Knotenprozess in Git Bash ausgeführt, also habe ich alle Knotenprozesse beendet. Schritte zum Beenden
Öffnen Sie den Task-Manager
Gehe zu Registerkarte Details
Suchen Sie nach node.exe (Sie suchen nach Ihren Prozessen)
In meinem Fall war es adb shell. Also bin ich adb kill-serverin ein bereits offenes Fenster gelaufen und es hat das für mich behoben. +1
Lucidbrot
Hat funktioniert. Aber was zum Teufel ... Ich habe seit Monaten keine node.js mehr gemacht ... Warum lief es?
JMI MADISON
5
Endlich herausgefunden, was das verursacht hat.
wenn wir Code wie diesen (explizit oder implizit) verwenden, dh in einer .bashrcDatei
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
es erzeugt einen neuen Prozess.
Wenn Sie es nicht beenden und nur das Fenster schließen, wird dieser Prozess noch ausgeführt. Also fügt jede neue Bash immer wieder neue hinzu, ohne alte zu entsorgen.
Wenn Sie mit einem Bash-Fenster fertig sind, drücken ctrl+doder tippen Sie einfach exit, um den Agentenprozess abzubrechen, und Ihnen sollten nicht die Gabeln ausgehen.
Scheint tatsächlich ein Problem mit den Prozessen zu sein, die von der Git-Bash gestartet wurden, wie @mamacdon in seinem Kommentar zur Top-Antwort von @Scott Newson vorgeschlagen hat.
Für mich trat das Problem auf, wenn ich einen vscode von der Bash mit codestartete und wenn diese Instanz von vscode ein integriertes Git-Terminal startete, während die ursprüngliche Bash noch lief.
Es spielt keine Rolle, ob dieses Terminal zu Beginn oder später gestartet wurde, solange es noch lief, während die ursprüngliche Bash lief.
Ist nicht passiert, als die Bash geschlossen wurde, bevor das integrierte Terminal geöffnet wurde. Es wurde nicht zwischen exitBash und Windows unterschieden. Ist nicht passiert, wenn ein anderes älteres Bash-Fenster noch läuft.
Die Art und Weise, wie ich damit umgehen sollte, bestand darin, die Terminals in vscode mit exitoder 'Kill Terminal' zu schließen (achten Sie darauf, dies nicht mit 'close pane' zu verwechseln) oder natürlich vscode selbst zu schließen.
Wenn Sie diesen Fehler erhalten, versuchen Sie sich zu merken, was Sie von der Bash gestartet haben, und töten Sie ihn. Wenn die anderen Antworten für Sie funktionierten, ist es wahrscheinlich nur so, dass dies die Dinge sind, die von Ihrer Bash oder von Prozessen, die Sie von der Bash gestartet haben, gestartet wurden und die irgendwie ein Kind Ihrer ursprünglichen Bash bekommen haben.
Wenn Sie Visual Studio Code verwenden und ssh-agent.exe nicht finden oder nicht ausführen können und nach dem Öffnen von Git Bash diese Fehlermeldung angezeigt wird, gehen Sie einfach zu Ihrem VSCode, öffnen Sie Terminal> Neues Terminal und drücken Sie einfach auf das Papierkorbsymbol das (Kill Terminal). zB (1: Bash) Wenn du mehrere hast, töte sie einfach alle und du solltest gut sein.
In einer neueren Version von git für Windows war der im Task-Manager zu beendende Prozess "GitExtensions.exe". Das wurde getötet und die Terminals wurden ohne Probleme neu gestartet.
Ich bin mir nicht sicher, warum dies herabgestuft wird, hat für mich funktioniert. Außerdem kann Visual Studio-Code Terminals generieren, sodass es nicht verwunderlich ist, dass dieses Problem auftreten kann.
3) Wenn ein Fehler aufgetreten ist: Der Prozess "ssh-agent.exe" wurde nicht gefunden. dann:
Art:
tasklist
4) Finde und beende jeden Prozess mit Worten wie "bash" oder "git" (Dies mag eine gefährliche Lösung sein, aber sobald du den Prozessnamen gefunden hast, wirst du es das nächste Mal wissen.)
"Wenn das nicht funktioniert, versuchen Sie, die Stromversorgung Ihres Gebäudes zu unterbrechen, und schließen Sie es dann wieder an. Wenn dies nicht funktioniert, rufen Sie die örtliche Elektrizitätsgesellschaft an und bitten Sie sie, die Stromversorgung für die gesamte Nachbarschaft zu unterbrechen wenige Momente ... etc "
Refaelio
1
lol Ich habe das gleiche getan, die Lösung klingt ziemlich albern, aber es funktioniert gut :)
mosh
). Ich konnte das Problem gerade replizieren, indem ich vscode mitvscode .
und zum Schließen des Terminals startete, mit dem es geöffnet wurde. Während das vscode-Fenster geöffnet bleibt, scheint Cygwin keine weiteren Terminals öffnen zu wollen. Sobald ich es schließe, funktioniert es.code .
in meinem Fall damit zu tun .code .
meinem Fall. Durch Schließen von VS Code wurde das Problem behoben. Toller Fund @ElvenSpellmakerAntworten:
In Google Groups wurde ein ähnliches Problem und eine ähnliche Lösung gefunden
Zusätzlicher Hinweis: Sie können auch andere Prozesse beenden, z. B.:
quelle
node.exe
(Node.js) undlink.exe
(GNU-Link) waren. Möglicherweise müssen Sie also die Aufgabenliste nach den Schuldprozessen durchsuchen. Ich bin mir nicht sicher warum, aber es scheint, dass Programme, die aus Bash-Sitzungen heraus gestartet werden, ihre übergeordnete Shell irgendwie überleben können.taskkill /F /IM node.exe
Ich sehe das Problem unter Windows in Git Bash, wenn ich meine Git Bash-Konsole ohne Exit töte. Ich habe festgestellt, dass die Aufgabe ssh-agent.exe im Windows Task-Manager beendet wurde, um das Problem zu beheben.
quelle
In meinem Fall war es mit der Verwendung von VS-Code verbunden. Zuvor habe ich VS-Code mit einem Git-Bash-Terminal geöffnet und ausgeführt
dann das Terminal schließen.
Das Problem wird gelöst, indem alle geöffneten VS-Codefenster geschlossen werden.
Wenn Sie einen Editor oder eine IDE so konfiguriert haben, dass ein Terminal als Git-Bash geöffnet wird, wird bei Ausführung der IDE / IDE die Git-Bash von "C: \ Windows \ System32 \ bash.exe" und jedem anderen Versuch gestartet Open Bash aus einem separaten Fenster kann abstürzen.
Die beste Lösung besteht darin, die IDE / Editor-Bash zu beenden und in einem neuen Fenster zu öffnen oder mit dem Befehl IDE / Editor fortzufahren.
quelle
Ich spreche dies mit einer Problemumgehung an:
Es sollte jetzt in Ordnung sein.
quelle
Um das Leben zu erleichtern (dieses Problem tritt häufig auf), erstellen Sie eine Datei, die
fixbash.bat
im Home-Verzeichnis aufgerufen wird, und fügen Sie Folgendes ein:taskkill /F /IM ssh-agent.exe
Wenn ein Problem auftritt, öffnen Sie es
cmd
und geben Sie es einfixbash.bat
, um ein Problem zu beheben.Oder
Fügen
cmd
Sie einfach den Befehl taskkill in Ihren ein, wenn Sie kein Skript erstellen möchten.quelle
ERROR: The process "ssh-agent.exe" not found.
Starten Sie Ihren Computer neu.
(Die anderen Antworten haben bei mir nicht funktioniert. (Ich habe nicht versucht, sie neu zu installieren. Der Neustart ist wahrscheinlich schneller.))
quelle
Für mich (oder jeden, der Winkelmesser ausführt , der möglicherweise einen eigenständigen Selenium / WebDriver-Server hochfährt ), musste ich
taskkill
den spezifischen Web-Treiber verwenden dem meine Tests ausgeführt wurden.Also nur ein anderes Argument: oder Ihre Chromedriver- Version kann variieren
Beachten Sie, dass Ihr Fahrer variieren kann:
IEDriverServer*.*.*.exe
vs.chromedriver_*.**exe
Ihr Fahrer kann Version kann unterschiedlich sein :
chromedriver_2.34.exe
vschromedriver_2.33.exe
Dieses Problem wurde schlimmer, nachdem der Winkelmesser beendet wurde, ohne den automatisierten / testgesteuerten Browser zu schließen (aufgrund eines separaten Problems, das ich noch nicht verstehe). Natürlich werden noch viele
chromedriver
Aufgaben ausgeführt, weshalb sie getötet werden.quelle
Öffnen Sie den Task-Manager und beenden Sie den Prozess mit Name Bash. Dies hat bei mir funktioniert.
quelle
Dies geschieht, wenn Sie git bash beenden, ohne den vorhandenen Prozess zu beenden. Versuchen Sie einfach, die Prozesse zu beenden, die Sie mit git bash gestartet haben. Ich habe den Knotenprozess in Git Bash ausgeführt, also habe ich alle Knotenprozesse beendet. Schritte zum Beenden
quelle
adb shell
. Also bin ichadb kill-server
in ein bereits offenes Fenster gelaufen und es hat das für mich behoben. +1Endlich herausgefunden, was das verursacht hat.
wenn wir Code wie diesen (explizit oder implizit) verwenden, dh in einer
.bashrc
Dateies erzeugt einen neuen Prozess.
Wenn Sie es nicht beenden und nur das Fenster schließen, wird dieser Prozess noch ausgeführt. Also fügt jede neue Bash immer wieder neue hinzu, ohne alte zu entsorgen.
Wenn Sie mit einem Bash-Fenster fertig sind, drücken
ctrl+d
oder tippen Sie einfachexit
, um den Agentenprozess abzubrechen, und Ihnen sollten nicht die Gabeln ausgehen.quelle
Scheint tatsächlich ein Problem mit den Prozessen zu sein, die von der Git-Bash gestartet wurden, wie @mamacdon in seinem Kommentar zur Top-Antwort von @Scott Newson vorgeschlagen hat.
Für mich trat das Problem auf, wenn ich einen vscode von der Bash mit
code
startete und wenn diese Instanz von vscode ein integriertes Git-Terminal startete, während die ursprüngliche Bash noch lief.Es spielt keine Rolle, ob dieses Terminal zu Beginn oder später gestartet wurde, solange es noch lief, während die ursprüngliche Bash lief.
Ist nicht passiert, als die Bash geschlossen wurde, bevor das integrierte Terminal geöffnet wurde. Es wurde nicht zwischen
exit
Bash und Windows unterschieden. Ist nicht passiert, wenn ein anderes älteres Bash-Fenster noch läuft.Die Art und Weise, wie ich damit umgehen sollte, bestand darin, die Terminals in vscode mit
exit
oder 'Kill Terminal' zu schließen (achten Sie darauf, dies nicht mit 'close pane' zu verwechseln) oder natürlich vscode selbst zu schließen.Wenn Sie diesen Fehler erhalten, versuchen Sie sich zu merken, was Sie von der Bash gestartet haben, und töten Sie ihn. Wenn die anderen Antworten für Sie funktionierten, ist es wahrscheinlich nur so, dass dies die Dinge sind, die von Ihrer Bash oder von Prozessen, die Sie von der Bash gestartet haben, gestartet wurden und die irgendwie ein Kind Ihrer ursprünglichen Bash bekommen haben.
quelle
Wenn Sie Visual Studio Code verwenden und ssh-agent.exe nicht finden oder nicht ausführen können und nach dem Öffnen von Git Bash diese Fehlermeldung angezeigt wird, gehen Sie einfach zu Ihrem VSCode, öffnen Sie Terminal> Neues Terminal und drücken Sie einfach auf das Papierkorbsymbol das (Kill Terminal). zB (1: Bash) Wenn du mehrere hast, töte sie einfach alle und du solltest gut sein.
quelle
In meinem Fall muss ich Git Bash in Windows beenden. Also öffnete Eingabeaufforderung und lief unter Befehl
Es werden alle laufenden Aufgaben aufgelistet und müssen dann die Aufgabe bash.exe mit dem folgenden Befehl beenden
quelle
Öffnen Sie Ihren Task-Manager, suchen Sie nach "sh" -Prozessen und töten Sie sie. Viel Glück
quelle
In meinem Fall bestand die Lösung darin, Visual Studio Code zu schließen - wo auch die Konsole lief, ohne es zu merken -
Nach dem Schließen alles wieder normal. Hoffe das hilft jemandem.
quelle
Ich habe versucht, alle meine Git-Terminals im Task-Manager zu töten, um das Problem zu lösen. Das funktioniert auch bei mir. Viel Glück.
quelle
In einer neueren Version von git für Windows war der im Task-Manager zu beendende Prozess "GitExtensions.exe". Das wurde getötet und die Terminals wurden ohne Probleme neu gestartet.
quelle
Den ssh-agent-Prozess finden Sie im Task-Manager-Fenster. Nachdem Sie den ssh-agent-Prozess gestoppt oder beendet haben, verschwindet der Fehler.
quelle
In meinem Fall wurde Visual Studio-Code ausgeführt und durch Schließen wurde das Problem behoben.
quelle
Git neu installiert, es funktioniert jetzt gut.
quelle
Ich fand, dass das Beenden des msys2-Terminals im Task-Manager das Problem löst
quelle
Öffnen Sie den Task-Manager, suchen Sie den Prozess bash.exe und beenden Sie ihn. Hat in meinem Fall geholfen.
quelle
Windows 10 das hat bei mir funktioniert:
1) Öffnen Sie cmd als Administrator
2) Typ:
3) Wenn ein Fehler aufgetreten ist: Der Prozess "ssh-agent.exe" wurde nicht gefunden. dann:
Art:
4) Finde und beende jeden Prozess mit Worten wie "bash" oder "git" (Dies mag eine gefährliche Lösung sein, aber sobald du den Prozessnamen gefunden hast, wirst du es das nächste Mal wissen.)
quelle
Für Windows töten Sie im Task-Manager sh.exe.
quelle
In meinem Fall hatte ich eine streunende abd.exe, die im Task-Manager noch offen war. Durch das Töten wurde das Problem behoben.
quelle
In System-Bash-Typ:
ps
Töte jeden schlecht aussehenden Prozess:
kill -9 <ID>
Hat für mich gearbeitet.
quelle
Starten Sie einfach Ihren Computer neu. Beim Neustart unseres Computers ist dieses Problem behoben. Probieren Sie es aus.
quelle