我曾经有8个git bash终端同时运行。
目前我只有2个。
我以前没有见过这个错误,我不知道是什么原因造成的。
任何帮助都将不胜感激!
图片附件:
我曾经有8个git bash终端同时运行。
目前我只有2个。
我以前没有见过这个错误,我不知道是什么原因造成的。
任何帮助都将不胜感激!
图片附件:
当前回答
在我的情况下,我需要杀死Git bash在Windows。 因此打开命令提示符并运行下面的命令
$ tasklist
它将列出所有正在运行的任务,然后需要使用以下命令杀死bash.exe任务
$ taskkill /F /IM bash.exe
其他回答
在谷歌组中发现了类似的问题和解决方案
我打开一个windows命令提示符并运行该命令 tasklist美元 当这些窗口被关闭并挂起可用的git bash shell窗口时,看起来好像我在我的git bash shell中所做的ssh连接没有被关闭。 这可能是一个危险的解决方案,但我从windows命令提示符运行 $ taskkill /F /IM ssh.exe 在这之后,一切似乎都恢复正常了。这可能不是孤儿进程的直接问题,但至少对我来说是有效的。
附加提示:你也可以杀死其他进程,例如:
$ taskkill /F /IM vim.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终端中运行命令。
终于找到原因了。
如果我们使用这样的代码(显式或隐式),即在.bashrc文件中
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
它生成一个新进程。
如果您不退出它,只是关闭窗口,则该进程仍在运行。所以每一个新的bash打开只是不断添加新的w/不处置旧的。
使用bash窗口时,只需按ctrl+d或键入exit来终止代理进程,就不会用光fork。
打开任务管理器,用name bash杀死进程,这对我有用。
我看到的问题在窗口在git bash当我杀死我的git bash控制台不使用退出。我发现从windows任务管理器中杀死ssh-agent.exe任务可以解决这个问题。