Wcześniej miałem do 8 terminali git bash działających w tym samym czasie.
Obecnie mam tylko 2 w górę.
Nie widziałem wcześniej tego błędu i nie rozumiem, co go powoduje.
Każda pomoc będzie mile widziana!
Zdjęcie w załączeniu:
mosh
). Właśnie udało mi się odtworzyć problem, uruchamiając vscode za pomocą, vscode .
a następnie zamykając terminal używany do jego otwierania. Podczas gdy okno vscode pozostaje otwarte, wygląda na to, że Cygwin nie chce otwierać więcej terminali, jak tylko je zamknę, działa.
code .
mojego przypadku.
code .
w moim przypadku. Zamknięcie VS Code rozwiązało problem. Świetne znalezisko @ElvenSpellmaker
Odpowiedzi:
Znalazłem podobny problem i rozwiązanie w grupach google
Otworzyłem wiersz polecenia systemu Windows i uruchomiłem polecenie
$ tasklist
Wygląda na to, że połączenia ssh, które utworzyłem w moich powłokach git bash, nie były zamykane, gdy te okna były zamknięte i zawieszały dostępne okna powłoki git bash.
Może to być niebezpieczne rozwiązanie, ale z wiersza poleceń systemu Windows uruchomiłem
$ taskkill /F /IM ssh.exe
Wygląda na to, że po tym wszystko znów działa. Może nie była to bezpośrednio kwestia procesów osieroconych, ale przynajmniej w moim przypadku to zadziałało.
Dodatkowa uwaga: możesz także zabić inne procesy, na przykład:
$ taskkill /F /IM vim.exe
node.exe
(Node.js) i link.exe
(GNU link). Być może będziesz musiał przeszukać listę zadań w poszukiwaniu winnych procesów. Nie jestem pewien dlaczego, ale wydaje się, że programy uruchamiane z sesji Bash mogą w jakiś sposób przeżyć swoją powłokę nadrzędną.
taskkill /F /IM node.exe
Widzę problem w systemie Windows w git bash, gdy zabijam konsolę git bash bez użycia wyjścia. Znalazłem zabijanie zadania ssh-agent.exe z menedżera zadań systemu Windows, aby naprawić problem.
W moim przypadku było to związane z wykorzystaniem kodu VS. Wcześniej otworzyłem kod VS za pomocą terminala git bash i wykonałem
code .
następnie zamknięcie terminala.
Problem można rozwiązać, zamykając wszystkie otwarte okna kodu VS.
Jeśli masz jakikolwiek edytor lub skonfigurowane IDE, aby otworzyć terminal jako git bash, wtedy gdy IDE / IDE jest uruchomione, git bash uruchomi bash z "C: \ Windows \ System32 \ bash.exe" i każda inna próba open bash z osobnego okna może się zawiesić.
Najlepszym rozwiązaniem jest zabicie IDE / Editor bash i otwarcie go z nowego okna lub kontynuowanie za pomocą polecenia IDE / Editor.
Rozwiązuję to za pomocą obejścia:
Teraz powinno być dobrze.
Dla ułatwienia życia (ten problem zdarza się dość często) utwórz plik o nazwie fixbash.bat
w katalogu domowym i wklej to:
taskkill /F /IM ssh-agent.exe
Gdy wystąpi problem, po prostu otwórz cmd
i wpisz, fixbash.bat
aby rozwiązać problem.
Lub
Po prostu wklej polecenie taskkill do swojego, cmd
jeśli nie chcesz tworzyć skryptu.
ERROR: The process "ssh-agent.exe" not found.
Uruchom ponownie komputer.
(Inne odpowiedzi nie pomogły. (Nie próbowałem ponownej instalacji. Ponowne uruchomienie jest prawdopodobnie szybsze).)
Dla mnie (lub ktokolwiek z systemem kątomierz, które mogą rozpędzać się samodzielnym selen / serwer WebDriver), musiałem taskkill
na webdriver konkretnej który był uruchomiony w moich testów.
Więc tylko inny argument: lub twoja wersja chromedriver może się różnić
taskkill /f /im chromedriver_2.34.exe
Uwaga: Twój sterownik może się różnić:
IEDriverServer*.*.*.exe
vschromedriver_*.**exe
Wersja twojego sterownika może się różnić: chromedriver_2.34.exe
vschromedriver_2.33.exe
Ten problem pogorszył się po zamknięciu kątomierza bez zamykania przeglądarki automatycznej / testowej (z powodu osobnego problemu, którego jeszcze nie rozumiem). Oczywiście wiele chromedriver
zadań pozostaje uruchomionych, dlatego je zabij.
Dzieje się tak, gdy wyjdziesz z git bash bez kończenia istniejącego procesu. Po prostu spróbuj zabić te procesy, które zacząłeś od git bash. Uruchomiłem proces węzłowy wewnątrz git bash, więc zabiłem wszystkie kroki procesów węzła do zabicia
adb shell
. Więc uruchomiłem adb kill-server
już otwarte okno i naprawiłem to dla mnie. +1
w końcu zorientowałem się, co jest tego przyczyną.
jeśli używamy takiego kodu (jawnie lub niejawnie) np. w .bashrc
pliku
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
rodzi nowy proces.
jeśli go nie wyjdziesz i po prostu zamkniesz okno, ten proces nadal działa. więc każdy nowy bash po prostu dodaje nowe, bez usuwania starych.
kiedy skończysz z oknem bash, po prostu naciśnij ctrl+d
lub wpisz, exit
aby zabić proces agenta, i nie powinieneś zabraknąć forków.
W moim przypadku muszę zabić Git bash w systemie Windows. Więc otworzył wiersz polecenia i uruchomił poniższe polecenie
$ tasklist
Wyświetli listę wszystkich uruchomionych zadań, a następnie będzie musiał zabić zadanie bash.exe za pomocą poniższego polecenia
$ taskkill /F /IM bash.exe
Wydaje się, że rzeczywiście jest to problem z procesami uruchamianymi z git bash, jak zasugerował @mamacdon w swoim komentarzu do najlepszej odpowiedzi autorstwa @Scott Newson.
U mnie problem pojawił się, gdy uruchomiłem vscode z basha za pomocą code
i jeśli ta instancja vscode uruchomiła zintegrowany terminal git, gdy oryginalny bash wciąż działał.
Nie ma znaczenia, czy ten terminal został uruchomiony na początku, czy później, o ile był jeszcze uruchomiony pierwotny bash.
Nie wydarzyło się, gdy bash został zamknięty przed otwarciem zintegrowanego terminala. Nie rozróżniłem między exit
i zamykaniem bash przez okna. Nie wydarzyło się, gdy inne starsze okno bash nadal działało.
Aby sobie z tym poradzić, zamknąłem terminale w vscode za pomocą exit
lub „Kill Terminal” (uważaj, aby nie pomylić tego z „close pane”) lub oczywiście zamknięcie samego vscode.
Jeśli pojawi się ten błąd, spróbuj zapamiętać, co uruchomiłeś z basha i zabij go. Jeśli inne odpowiedzi zadziałały dla ciebie, prawdopodobnie chodzi o to, że są to rzeczy uruchomione przez twój bash lub uruchomione przez procesy, które uruchomiłeś z basha i w jakiś sposób otrzymały dziecko twojego oryginalnego basha.
Jeśli korzystasz z Visual Studio Code i nie możesz znaleźć ssh-agent.exe lub nie możesz go wykonać, a po otwarciu Git Bash pojawia się ten błąd, po prostu przejdź do swojego VSCode otwórz Terminal> Nowy terminal i po prostu naciśnij ikonę kosza (Zabij terminal). np. (1: bash) jeśli masz wiele, po prostu zabij je wszystkie i powinieneś być dobry.
Otwórz swojego menedżera zadań, wyszukaj procesy „sh” i zabij je. Powodzenia
Próbowałem zabić wszystkie terminale git w menedżerze zadań, rozwiązując problem. U mnie to też działa. powodzenia.
W nowszej wersji git dla systemu Windows procesem do zabicia w menedżerze zadań był „GitExtensions.exe”. Zabiłem to i terminale uruchomiły się ponownie bez żadnych problemów.
Znajdź proces ssh-agent w oknie Menedżera zadań. Po zatrzymaniu lub zabiciu procesu ssh-agent błąd zniknie.
W moim przypadku działał kod Visual Studio i zamknięcie go rozwiązało problem.
Ponownie zainstalowany git, teraz działa dobrze.
Odkryłem, że zabicie terminalu msys2 w menedżerze zadań rozwiązuje problem
Windows 10 to zadziałało dla mnie:
1) otwórz cmd jako administrator
2) rodzaj:
taskkill /f /im git-bash.exe
3) Jeśli wystąpił błąd: Nie znaleziono procesu „ssh-agent.exe”. następnie:
rodzaj:
tasklist
4) Znajdź i zabij każdy proces słowami takimi jak „bash” lub „git” (może to być niebezpieczne rozwiązanie, ale gdy już znajdziesz nazwę procesu, następnym razem się zorientujesz).
taskkill /f /im ***.exe
W systemie Windows w menedżerze zadań zabij sh.exe.
W systemie typu bash:
ps
Zabij każdy źle wyglądający proces:
kill -9 <ID>
Pracował dla mnie.
Po prostu uruchom ponownie komputer, podczas ponownego uruchamiania naszego komputera problem został rozwiązany, spróbuj.