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

目前我只有2个。

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

任何帮助都将不胜感激!

图片附件:


当前回答

从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代码-我有控制台运行太不注意-

关闭后一切恢复正常。 希望这能帮助到一些人。

在我的例子中,我在任务管理器中有一个仍然打开的abd.exe。杀死它解决了这个问题。

这里的许多答案都建议他们需要杀死不同的进程,以便能够打开一个新的Git Bash终端。在我的情况下,有多个conhost.exe进程正在运行,我必须在成功打开另一个窗口之前杀死它们。

Perhaps more importantly, is why it happened. I think I know exactly what I did which led to this state. I noticed that when typing git log, if I then resize my Git Bash window, it would hang. (Pressing q would not exit the log and I could no longer type commands.) I ended up closing the window and opening another one. I was doing some testing of this repeatedly to see if I could figure out a solution to the freezing after resizing, and after doing this multiple times (probably around 10 times), I received the error in this question. The results of my testing are:

打开一个新的Git Bash窗口会启动以下过程:

conhost.exe git-bash.exe git.exe mintty.exe

现在,当你输入git log, 4个额外的进程打开:

bash.exe conhost.exe git.exe exe(只有当你的日志无法显示在一个屏幕上时,它才会保持打开状态)

当你关闭Git Bash时,这8个进程通常都消失了。但是,由于一个错误(我认为可能是在less.exe中),当您在查看日志时调整窗口大小时,Git Bash挂起。如果现在关闭窗口,8个进程中只有6个会关闭。less.exe和conhost.exe都保持活动状态。在我的例子中,最终建立了足够多的conhost.exe进程,并导致了导致Git Bash显示错误而无法启动的问题。

也就是说,我试图重复这个问题,但在20多次尝试后放弃了,当我处于问题状态时,这比我必须杀死的conhost进程要多。我怀疑这不是进程号,而是导致错误的一个或多个进程的状态。显然,由于其他答案提到关闭不同的进程,无法正确关闭和对抗Git Bash的“东西”可能会有所不同,这取决于您使用的工具。

注意,我使用的Git版本:2.37.1.windows.1。

在谷歌组中发现了类似的问题和解决方案

我打开一个windows命令提示符并运行该命令 tasklist美元 当这些窗口被关闭并挂起可用的git bash shell窗口时,看起来好像我在我的git bash shell中所做的ssh连接没有被关闭。 这可能是一个危险的解决方案,但我从windows命令提示符运行 $ taskkill /F /IM ssh.exe 在这之后,一切似乎都恢复正常了。这可能不是孤儿进程的直接问题,但至少对我来说是有效的。

附加提示:你也可以杀死其他进程,例如:

$ taskkill /F /IM vim.exe

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