我曾经有8个git bash终端同时运行。

目前我只有2个。

我以前没有见过这个错误,我不知道是什么原因造成的。

任何帮助都将不胜感激!

图片附件:


当前回答

在系统bash类型中:

ps

杀死任何看起来不好的进程:

kill -9 <ID>

为我工作。

其他回答

当退出git bash而不终止现有进程时,就会发生这种情况。试着杀死那些你从git bash中启动的进程。 我在git bash中运行节点进程,所以我杀死了所有节点进程 杀人的步骤

打开任务管理器 Goto详细信息标签 查找node.exe(您查找您的进程) 杀死它的每个节点进程 再次打开Git Bash

在我的例子中,我在Git Bash中运行jupyter-notebook,并在没有关闭notebook的情况下关闭了终端。当我关闭所有运行的git bash终端并试图打开新终端时,这给了我一个错误:

Error: Could not fork child process: There are no available terminals (-1).

解决方案

taskkill /F /IM jupyter-notebook.exe

在那之后,我能够在git bash终端中运行命令。

我看到的问题在窗口在git bash当我杀死我的git bash控制台不使用退出。我发现从windows任务管理器中杀死ssh-agent.exe任务可以解决这个问题。

从git bash启动的进程似乎确实有问题,就像@mamacdon在他对@Scott Newson的回答的评论中所建议的那样。

对我来说,如果我从带有代码的bash中启动了vscode,如果vscode的这个实例在原始bash仍在运行时启动了集成的git终端,就会出现问题。

该终端是在开始时启动还是稍后启动并不重要,只要它是在原始bash仍在运行时启动的。

在集成终端打开之前,攻击已经结束,没有发生。不区分退出和关闭bash通过窗口。在另一个旧bash窗口仍在运行时没有发生。

对我来说,处理它的方法是用exit或'Kill Terminal'关闭vscode中的终端(注意不要与'close pane'混淆),当然,关闭vscode本身。

如果您得到这个错误,请尝试记住您从bash中启动了什么并杀死它。如果其他答案适用于您,可能只是这些是由您的bash启动的东西,或者是由您从bash启动的进程启动的,它们以某种方式获得了您原始bash的子程序。

如果你正在使用Visual Studio Code,你找不到ssh-agent.exe,或者不能taskkill它,在打开Git Bash后你得到这个错误,只要去你的VSCode打开终端>新终端,然后按下垃圾桶图标(Kill Terminal)。例(1:bash)如果你有多个,那么就把他们都杀了,你应该是好的。