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

目前我只有2个。

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

任何帮助都将不胜感激!

图片附件:


当前回答

终于找到原因了。

如果我们使用这样的代码(显式或隐式),即在.bashrc文件中

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

它生成一个新进程。

如果您不退出它,只是关闭窗口,则该进程仍在运行。所以每一个新的bash打开只是不断添加新的w/不处置旧的。

使用bash窗口时,只需按ctrl+d或键入exit来终止代理进程,就不会用光fork。

其他回答

重新启动您的机器。

(其他答案对我没用。(我没有尝试重新安装。重新启动可能更快。)

在我的例子中,我需要杀死sh.exe taskkill /F /IM sh.exe

当我编辑我的bash_profile并重新启动git bash时,这个问题开始了。

在VS Code中关闭终端会话后,问题得到了解决。从那以后,一切都按照预期进行。

在windows git的最新版本中,任务管理器中要终止的进程是“GitExtensions.exe”。杀死了它,终端重新启动没有问题。

在我的例子中,我在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终端中运行命令。