Подтвердить что ты не робот

Git bash Ошибка: не удалось разблокировать дочерний процесс: нет доступных терминалов (-1)

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

В настоящее время у меня всего 2.

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

Любая помощь будет оценена!

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

введите описание изображения здесь

4b9b3361

Ответ 1

Нашел похожую проблему и потенциальное решение в группах Google

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

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

$ tasklist

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

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

$ taskkill /F /IM ssh.exe 

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

Good luck!

Ответ 2

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

Ответ 3

Я обращаюсь к этому с обходным путем:

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

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

Ответ 4

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

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

Ответ 5

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

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

taskkill /f /im chromedriver_2.34.exe

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

Возможно, ваш драйвер может версия: chromedriver_2.34.exe vs chromedriver_2.33.exe

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

Ответ 6

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

Ответ 7

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

taskkill/F/IM ssh-agent.exe

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

Или же

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

Ответ 8

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

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

Ответ 9

Кажется, что проблема действительно связана с процессами, запускаемыми из git bash, как @mamacdon предложил в своем комментарии к основному ответу @Scott Newson.

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

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

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

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

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

Ответ 10

наконец-то выяснили, что это вызвало.

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

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

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

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

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

Ответ 11

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

Ответ 12

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

Ответ 13

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

Ответ 14

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

Ответ 15

Пожалуйста, найдите процесс ssh-agent в окне диспетчера задач. После того, как вы остановите или убьете процесс ssh-agent, ошибка исчезнет.

Ответ 16

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

code .

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

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

Ответ 17

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

Ответ 18

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

Ответ 19

Удалось решить эту проблему, закрыв все открытые окна командной строки.

Ответ 20

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

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

2) введите:

taskkill /f /im git-bash.exe


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

Тип:

tasklist

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

taskkill /f /im ***.exe

Ответ 21

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

Ответ 22

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

Ответ 23

В системе Bash тип:

ps

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

kill -9 <ID>

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

Ответ 24

Когда код и gitbash работают одновременно , и когда я хочу открыть gitbash после того, как закрыл его, я столкнулся с этой проблемой.

Я закрыл код и открыл gitbash, сработало.

Ответ 25

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