我曾经有8个git bash终端同时运行。
目前我只有2个。
我以前没有见过这个错误,我不知道是什么原因造成的。
任何帮助都将不胜感激!
图片附件:
我曾经有8个git bash终端同时运行。
目前我只有2个。
我以前没有见过这个错误,我不知道是什么原因造成的。
任何帮助都将不胜感激!
图片附件:
当前回答
在我的例子中,这与VS代码的使用有关。之前我使用git bash终端打开VS代码并执行
code .
然后关闭终端。
这个问题可以通过关闭所有打开的VS code窗口来解决。
当你有任何编辑器或IDE配置以git bash打开终端时,当IDE/IDE正在运行时,git bash将从“C:\Windows\System32\bash.exe”中启动bash,而任何其他试图从单独窗口打开bash的尝试都可能会崩溃。
最好的解决方案是关闭IDE/Editor bash并从一个新窗口打开,或者从IDE/Editor命令继续。
其他回答
在我的例子中,我在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终端中运行命令。
我发现在任务管理器中杀死msys2终端可以解决这个问题
从git bash启动的进程似乎确实有问题,就像@mamacdon在他对@Scott Newson的回答的评论中所建议的那样。
对我来说,如果我从带有代码的bash中启动了vscode,如果vscode的这个实例在原始bash仍在运行时启动了集成的git终端,就会出现问题。
该终端是在开始时启动还是稍后启动并不重要,只要它是在原始bash仍在运行时启动的。
在集成终端打开之前,攻击已经结束,没有发生。不区分退出和关闭bash通过窗口。在另一个旧bash窗口仍在运行时没有发生。
对我来说,处理它的方法是用exit或'Kill Terminal'关闭vscode中的终端(注意不要与'close pane'混淆),当然,关闭vscode本身。
如果您得到这个错误,请尝试记住您从bash中启动了什么并杀死它。如果其他答案适用于您,可能只是这些是由您的bash启动的东西,或者是由您从bash启动的进程启动的,它们以某种方式获得了您原始bash的子程序。
为了简化工作(这种问题经常发生),在主目录下创建一个名为fixbash.bat的文件,并粘贴如下:
taskkill /f /IM ssh-agent.exe
当问题发生时,只需打开cmd并键入fixbash.bat来修复问题。
Or
如果你不想创建一个脚本,只需将taskkill命令粘贴到你的cmd。
在系统bash类型中:
ps
杀死任何看起来不好的进程:
kill -9 <ID>
为我工作。