Раньше у меня было до 8 терминалов git bash, работающих одновременно.

Сейчас у меня только 2 ап.

Я не видел этой ошибки раньше и не понимаю, что ее вызывает.

Любая помощь будет принята с благодарностью!

Изображение прикреплено:

enter image description here

A. Petrizza

Ответов: 31

Ответы (31)

Обнаружена аналогичная проблема и решение в группах Google

Я открыл командную строку Windows и выполнил команду

$ список задач

Похоже, что ssh-соединения, которые я установил в своих оболочках git bash, не закрывались, когда эти окна были закрыты, и зависали доступные окна оболочки git bash.

Это может быть опасное решение, но из командной строки Windows я запустил

$ taskkill / F / IM ssh.exe

После этого все снова работает. Возможно, это не было напрямую проблемой сиротских процессов, но это сработало, по крайней мере, для меня.

Дополнительное примечание: вы также можете убить другие процессы, например, например:

$ taskkill /F /IM vim.exe

Для windows в диспетчере задач убить sh.exe.

Я пытался убить все мои терминалы git в диспетчере задач, решает проблему. У меня это тоже работает. удачи.

Переустановил git, теперь он работает нормально.

Откройте диспетчер задач и завершите процесс с именем bash, у меня это сработало.

Найдите процесс ssh-agent в окне диспетчера задач. После остановки или завершения процесса ssh-agent ошибка исчезнет.

Откройте диспетчер задач, найдите «sh» procces и убейте их. Удачи

Я решаю эту проблему с помощью обходного пути:

  1. Закройте окно Git Bash.
  2. Открыть диспетчер задач.
  3. Найдите процесс «Git для Windows».
  4. Убей его.
  5. Откройте Git Bash.

Теперь все должно быть в порядке.

Просто перезагрузите вашу машину, пока перезагрузите нашу машину, эта проблема решена, попробуйте.

В системном bash введите:

пс

Убить любой плохо выглядящий процесс:

kill -9

Работал у меня.

наконец выяснил, что было причиной этого.

, если мы используем такой код (явно или неявно), т.е. в .bashrc файле

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

порождает новый процесс.

, если вы не выйдете из него и просто закроете окно, этот процесс все еще будет выполняться. поэтому каждый новый открытый bash просто продолжает добавлять новые без удаления старых.

, когда это делается с окном bash, просто нажмите ctrl + d или введите exit, чтобы убить процесс агента, и у вас не должно закончиться форков.

Windows 10 это сработало для меня:

1) открыть cmd от имени администратора

2) введите:

taskkill /f /im git-bash.exe


3) Если произошла ошибка: процесс ssh-agent.exe не найден. затем:

введите:

tasklist

4) Найдите и завершите каждый процесс такими словами, как «bash» или «git» (это может быть опасным решением, но как только вы найдете имя процесса, в следующий раз вы узнаете)

taskkill /f /im ***.exe

если у вас открыт еще один сеанс терминала кода VS, просто закройте его и попробуйте еще раз, он будет работать нормально.

В более поздней версии git для Windows процесс, который нужно убить в диспетчере задач, был «GitExtensions.exe». Убил это, и терминалы перезапустились без проблем.

Я вижу проблему с окнами в git bash, когда убиваю свою консоль git bash без использования exit. Я обнаружил, что для решения проблемы убивает задачу ssh-agent.exe из диспетчера задач Windows.

В моем случае нужно было убить sh.exe taskkill / F / IM sh.exe

В моем случае у меня был запущен код Visual Studio, и его закрытие устранило проблему.

В моем случае у меня был случайный файл abd.exe, который все еще был открыт в диспетчере задач. Убив его, проблема была решена.

Если вы используете Visual Studio Code и не можете найти ssh-agent.exe или не можете его убить, и после открытия Git Bash вы получите эту ошибку, просто перейдите в свой VSCode open Terminal> New Terminal и просто нажмите значок корзины (Убить Терминал). например (1: bash), если у вас их несколько, просто убейте их всех, и все будет хорошо.

Я обнаружил, что удаление терминала msys2 в диспетчере задач решает проблему

Перезагрузите компьютер.

(Другие ответы у меня не сработали. (Я не пробовал переустанавливать. Перезагрузка, вероятно, быстрее.))

В моем случае решение заключалось в том, чтобы закрыть Visual Studio Code - там, где у меня тоже была запущена консоль, не замечая -

После закрытия все вернулось в норму. Надеюсь, это кому-то поможет.

В моем случае мне нужно убить Git bash в Windows. Итак, открыли командную строку и запустили команду

$ tasklist

Он перечислит все запущенные задачи, затем нужно будет убить задачу bash.exe, используя команду ниже

$ taskkill /F /IM bash.exe 

Это происходит, когда вы выходите из git bash без завершения существующего процесса. Просто попробуйте убить те процессы, которые вы запустили из git bash. Я запускал процесс узла внутри git bash, поэтому я убил все процессы узла Шаги, чтобы убить

  1. Открыть диспетчер задач
  2. Перейти на вкладку «Детали»
  3. Ищите node.exe (вы ищите свои процессы)
  4. Убить каждый процесс узла
  5. Снова откройте Git Bash

Эта проблема у меня началась, когда я отредактировал свой bash_profile и перезапустил git bash.

Проблема была решена после того, как я закрыл сеанс терминала в VS Code. После этого все заработало как положено.

В моем случае проблема была в файле [git_install_dir] /etc/nsswitch.conf

Ранее я следовал инструкциям, приведенным здесь: https://cygwin.com/faq.html#faq. Using.startup-slow. Но вместо этого возникла ошибка «Не удалось выполнить форк». Мой неправильный файл nsswitch.conf был:

passwd: files
group: files

Итак, я восстановил файл, и проблема решена. Теперь мой [git_install_dir] /etc/nsswitch.conf это:

passwd: files db
group: files # db
db_enum: cache builtin
db_home: env windows cygwin desc
db_shell: env windows # cygwin desc
db_gecos: env # cygwin desc

В моем случае это было связано с использованием кода VS. Ранее я открывал код VS с помощью терминала git bash и выполнял

code .

затем закрытие терминала.

Проблема решается закрытием всех открытых окон кода VS.

Когда у вас есть какой-либо редактор или IDE, настроенные для открытия терминала как git bash, тогда, когда IDE / IDE запущена, git bash будет запускать bash из "C: \ Windows \ System32 \ bash.exe" и любого другая попытка открыть bash из отдельного окна может привести к сбою.

Лучшее решение - убить среду IDE / Editor bash и открыть ее из нового окна или продолжить с помощью команды IDE / Editor.

Для меня (или любого, кто запускает транспортир, который может запускать автономный сервер Selenium / WebDriver), мне нужно было taskkill конкретный веб-драйвер, который запускал мои тесты.

Итак, другой аргумент: или ваш хромированный драйвер версия может отличаться

taskkill /f /im chromedriver_2.34.exe

Обратите внимание, ваш драйвер может отличаться: IEDriverServer *. *. *. Exe против chromedriver _ *. ** exe

Ваш драйвер может версия может отличаться:chromedriver_2.34.exe vs chromedriver_2.33.exe

Эта проблема усугубилась после выхода транспортира без закрытия автоматического / тестового браузера, (из-за отдельной проблемы, которую я еще не понимаю.) Естественно, многие задачи chromedriver продолжайте бежать, поэтому убейте их.

Чтобы облегчить жизнь (такие проблемы случаются довольно часто) создайте файл с именем fixbash.bat в домашнем каталоге и вставьте это:

taskkill / F / IM ssh-agent.exe

При возникновении проблемы просто откройте cmd и введите fixbash.bat, чтобы исправить проблему.

или

Просто вставьте команду taskkill в свой cmd, если вы не хотите создавать скрипт.

Откройте диспетчер задач, найдите процесс bash.exe и убейте его. В моем случае помогло.

Похоже, это действительно проблема с процессами, запущенными из git bash, как, например, @mamacdon, предложенный в его комментарии к верхнему ответу @Scott Newson.

Для меня проблема возникала, если я запускал vscode из bash с кодом, и если этот экземпляр vscode запускал интегрированный терминал git, пока исходный bash все еще работал.

Не имеет значения, был ли этот терминал запущен при запуске или позже, если это было, пока исходный bash все еще работал.

Не произошло, когда bash был закрыт до открытия интегрированного терминала. Не различал exit и закрытие bash через окна. Этого не произошло с другим старым окном bash, все еще работающим.

Для меня я решил закрыть терминалы в vscode с помощью exit или 'Kill Terminal' (будьте осторожны, чтобы не перепутать это с 'close pane'), или, конечно, закрытие самого vscode.

Если вы получили эту ошибку, попробуйте вспомнить, что вы запускали из bash, и убить его. Если другие ответы сработали для вас, вероятно, это просто вещи, запущенные вашим bash или запущенные процессами, которые вы запустили из bash, и они каким-то образом получали дочерний элемент вашего исходного bash.

2022 WebDevInsider