Git bash Error: Could not fork child process: There are no available terminals (-1)
Git bash Error: Could not fork child process: There are no available terminals (-1)
我之前最多同时拥有 8 个 git bash 个终端 运行。
目前我只有2张。
我以前没有见过这个错误,我不明白是什么导致了它。
如有任何帮助,我们将不胜感激!
附上图片:
中发现了类似的问题和解决方案
I opened a windows command prompt and ran the command
$ tasklist
It looks as though the ssh connections I had made in my git bash shells weren't being closed when those windows were closed and were hanging the available git bash shell windows.
This may be a dangerous solution but from the windows command prompt I ran
$ taskkill /F /IM ssh.exe
Everything appears to be working again after this. It may not have directly been an issue of orphan processes, but this worked for at least for me.
补充说明:您还可以终止其他进程,例如:
$ taskkill /F /IM vim.exe
我在 git bash 中的 windows 上看到了问题,当时我在没有使用退出的情况下关闭 git bash 控制台。我发现从 windows 任务管理器中删除 ssh-agent.exe 任务可以解决问题。
重新安装git,现在工作正常。
我发现在任务管理器中关闭 msys2 终端可以解决问题
重启你的机器。
(其他答案对我不起作用。(我没有尝试重新安装。重新启动可能更快。))
对于我(或任何 运行 量角器,它可能会启动一个独立的 Selenium/WebDriver 服务器),我需要 taskkill
特定的 webdriver 这是 运行 我的测试。
换个说法:
或者您的 chromedriver 版本 可能会有所不同
taskkill /f /im chromedriver_2.34.exe
请注意您的驱动程序可能会有所不同:
IEDriverServer*.*.*.exe
对比 chromedriver_*.**exe
您的驱动程序可能 版本 可能不同:chromedriver_2.34.exe
vs chromedriver_2.33.exe
这个问题在量角器 没有关闭自动/测试驱动的浏览器就退出后变得更糟,(由于一个单独的问题我还不明白。)自然很多 chromedriver
任务仍然存在 运行,这就是杀死它们的原因。
我试图在任务管理器中关闭所有 git 终端解决了这个问题。
这对我也有用。
祝你好运。
我用解决方法解决了这个问题:
- 关闭 Git Bash window.
- 打开任务管理器。
- 找到 'Git for Windows' 进程。
- 杀了它。
- 打开 Git Bash。
现在应该可以了
打开您的任务管理器,搜索 "sh" 进程并终止它们。
祝你好运
在 windows 的更新版本 git 中,要在任务管理器中终止的进程是 "GitExtensions.exe"。杀死它,终端重新启动没有问题。
请在任务管理器中找到ssh-agent进程window。
停止或终止 ssh-agent 进程后,错误将消失。
打开任务管理器并终止名称为 bash 的进程,这对我有用。
为了让生活更轻松(这个问题经常发生)在主目录中创建一个名为 fixbash.bat
的文件并粘贴:
taskkill /F /IM ssh-agent.exe
出现问题时,只需打开 cmd
并输入 fixbash.bat
即可解决问题。
或
如果您不想创建脚本,只需将 taskkill 命令粘贴到您的 cmd
。
打开任务管理器,找到bash.exe进程并杀死它。对我的情况有帮助。
在我的例子中,我有 visual studio 代码 运行 并关闭它解决了问题。
似乎是从 git bash 启动的进程确实存在问题,就像@mamacdon 在他对@Scott Newson 的最佳答案的评论中建议的那样。
对我来说,如果我使用 code
从 bash 启动 vscode,并且如果 vscode 的这个实例启动集成 git 终端,而原来的 bash 仍然是 运行。
无论该终端是在开始时启动还是稍后启动都没有关系,只要它是在原始 bash 仍处于 运行 时启动即可。
在打开集成终端之前关闭 bash 时没有发生。没有区分 exit
和通过 windows 关闭 bash。没有发生在另一个年长的 bash window 仍然 运行.
我的处理方法是用 exit
或 'Kill Terminal' 关闭 vscode 中的终端(注意不要与 'close pane' 混淆) ),或者当然,关闭 vscode 本身。
如果出现此错误,请尝试记住从 bash 启动的内容并将其终止。如果其他答案对您有用,那可能只是这些东西是由您的 bash 启动的,或者是由您从 bash 启动的进程启动的,并且它们以某种方式得到了您原始 [=28] 的子项=].
当您退出 git bash 而不终止现有进程时,会发生这种情况。只需尝试终止您从 git bash 启动的那些进程。
我是 git bash 里面的 运行 节点进程,所以我杀死了所有节点进程
击杀步骤
- 打开任务管理器
- 转到详细信息选项卡
- 寻找node.exe(你寻找你的进程)
- 杀死每个节点进程
- 再次打开GitBash
如果您使用的是 Visual Studio 代码,但找不到 ssh-agent.exe 或无法将其 taskkill,在打开 Git Bash 后,您会得到错误,只需转到 VSCode 打开终端 > 新终端,然后按垃圾桶图标(杀死终端)。例如 (1:bash) 如果你有多个那么就把它们全部杀了你应该很好。
终于弄清楚是什么原因造成的。
如果我们使用这样的代码(显式或隐式),即在 .bashrc
文件中
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
它产生了一个新进程。
如果您不退出它而只是关闭 window,该过程仍在 运行ning。所以每个新 bash 打开只是不断添加新的 w/out 处理旧的。
完成 bash window 后,只需点击 ctrl+d
或键入 exit
即可终止代理进程,您不应该 运行叉子。
在系统 bash 中输入:
ps
杀死所有外观不佳的进程:
kill -9 <ID>
对我有用。
只需重新启动您的机器,在重新启动我们的机器时,此问题已解决,请尝试。
Windows 10 这对我有用:
1) 以管理员身份打开cmd
2) 输入:
taskkill /f /im git-bash.exe
3) 如果出现错误:找不到进程 "ssh-agent.exe"。然后:
类型:
tasklist
4) 查找并杀死每个带有 "bash" 或 "git" 的进程(这可能是一个危险的解决方案,但是一旦找到进程名称,下次您就会知道。)
taskkill /f /im ***.exe
就我而言,它与使用 VS 代码有关。以前我使用 git bash 终端打开 VS 代码并执行
code .
然后关闭终端。
关闭所有打开的VS代码windows问题解决
当您有任何编辑器或 IDE 配置以 git bash 打开终端时,当 IDE/IDE 为 运行 时,git bash 将从 "C:\Windows\System32\bash.exe" 旋转 bash 并且任何其他尝试从单独的 window 打开 bash 都可能会崩溃。
最佳解决方案是终止 IDE/Editor bash 并从新的 window 打开或从 IDE/Editor 命令继续。
我的情况是,解决方案是关闭 Visual Studio 代码 - 我也有控制台 运行 而没有注意到 -
关闭后一切恢复正常。
希望这对某人有所帮助。
对于 windows,在任务管理器中 kill sh.exe。
在我的案例中,我需要在 Windows 中杀死 Git bash。
所以在命令
下面打开命令提示符和 运行
$ tasklist
它将列出所有 运行 任务,然后需要使用以下命令终止 bash.exe 任务
$ taskkill /F /IM bash.exe
在我的例子中,我有一个杂散的 abd.exe 仍然在任务管理器中打开。杀死它解决了这个问题。
就我而言,我需要杀死 sh.exe
taskkill /F /IM sh.exe
在我的例子中,问题是文件 [git_install_dir]/etc/nsswitch.conf
我之前按照此处给出的说明进行操作:
https://cygwin.com/faq.html#faq.using.startup-slow。
但这反而导致了“Could not fork”错误。
我的错误 nsswitch.conf 文件是:
passwd: files
group: files
所以我恢复了文件,问题解决了。现在我的 [git_install_dir]/etc/nsswitch.conf 是:
passwd: files db
group: files # db
db_enum: cache builtin
db_home: env windows cygwin desc
db_shell: env windows # cygwin desc
db_gecos: env # cygwin desc
如果您打开了另一个 VS 代码的终端会话,只需将其关闭并重试,它将正常工作。
当我编辑 bash_profile 并重新启动 git bash.
时,我开始出现这个问题
我在 VS Code 中关闭终端会话后,问题得到解决。之后一切都按预期进行。
在我的例子中,我是 运行ning jupyter-notebook 来自 Git Bash 并在没有关闭笔记本的情况下关闭了终端。当我关闭所有 运行ning git bash 终端并尝试打开新终端时,这给了我错误:
Error: Could not fork child process: There are no available terminals (-1).
解决方案
taskkill /F /IM jupyter-notebook.exe
之后,我可以在 git bash 终端中 运行 命令。
我之前最多同时拥有 8 个 git bash 个终端 运行。
目前我只有2张。
我以前没有见过这个错误,我不明白是什么导致了它。
如有任何帮助,我们将不胜感激!
附上图片:
I opened a windows command prompt and ran the command
$ tasklist
It looks as though the ssh connections I had made in my git bash shells weren't being closed when those windows were closed and were hanging the available git bash shell windows.
This may be a dangerous solution but from the windows command prompt I ran
$ taskkill /F /IM ssh.exe
Everything appears to be working again after this. It may not have directly been an issue of orphan processes, but this worked for at least for me.
补充说明:您还可以终止其他进程,例如:
$ taskkill /F /IM vim.exe
我在 git bash 中的 windows 上看到了问题,当时我在没有使用退出的情况下关闭 git bash 控制台。我发现从 windows 任务管理器中删除 ssh-agent.exe 任务可以解决问题。
重新安装git,现在工作正常。
我发现在任务管理器中关闭 msys2 终端可以解决问题
重启你的机器。
(其他答案对我不起作用。(我没有尝试重新安装。重新启动可能更快。))
对于我(或任何 运行 量角器,它可能会启动一个独立的 Selenium/WebDriver 服务器),我需要 taskkill
特定的 webdriver 这是 运行 我的测试。
换个说法: 或者您的 chromedriver 版本 可能会有所不同
taskkill /f /im chromedriver_2.34.exe
请注意您的驱动程序可能会有所不同:
IEDriverServer*.*.*.exe
对比 chromedriver_*.**exe
您的驱动程序可能 版本 可能不同:chromedriver_2.34.exe
vs chromedriver_2.33.exe
这个问题在量角器 没有关闭自动/测试驱动的浏览器就退出后变得更糟,(由于一个单独的问题我还不明白。)自然很多 chromedriver
任务仍然存在 运行,这就是杀死它们的原因。
我试图在任务管理器中关闭所有 git 终端解决了这个问题。 这对我也有用。 祝你好运。
我用解决方法解决了这个问题:
- 关闭 Git Bash window.
- 打开任务管理器。
- 找到 'Git for Windows' 进程。
- 杀了它。
- 打开 Git Bash。
现在应该可以了
打开您的任务管理器,搜索 "sh" 进程并终止它们。 祝你好运
在 windows 的更新版本 git 中,要在任务管理器中终止的进程是 "GitExtensions.exe"。杀死它,终端重新启动没有问题。
请在任务管理器中找到ssh-agent进程window。 停止或终止 ssh-agent 进程后,错误将消失。
打开任务管理器并终止名称为 bash 的进程,这对我有用。
为了让生活更轻松(这个问题经常发生)在主目录中创建一个名为 fixbash.bat
的文件并粘贴:
taskkill /F /IM ssh-agent.exe
出现问题时,只需打开 cmd
并输入 fixbash.bat
即可解决问题。
或
如果您不想创建脚本,只需将 taskkill 命令粘贴到您的 cmd
。
打开任务管理器,找到bash.exe进程并杀死它。对我的情况有帮助。
在我的例子中,我有 visual studio 代码 运行 并关闭它解决了问题。
似乎是从 git bash 启动的进程确实存在问题,就像@mamacdon 在他对@Scott Newson 的最佳答案的评论中建议的那样。
对我来说,如果我使用 code
从 bash 启动 vscode,并且如果 vscode 的这个实例启动集成 git 终端,而原来的 bash 仍然是 运行。
无论该终端是在开始时启动还是稍后启动都没有关系,只要它是在原始 bash 仍处于 运行 时启动即可。
在打开集成终端之前关闭 bash 时没有发生。没有区分 exit
和通过 windows 关闭 bash。没有发生在另一个年长的 bash window 仍然 运行.
我的处理方法是用 exit
或 'Kill Terminal' 关闭 vscode 中的终端(注意不要与 'close pane' 混淆) ),或者当然,关闭 vscode 本身。
如果出现此错误,请尝试记住从 bash 启动的内容并将其终止。如果其他答案对您有用,那可能只是这些东西是由您的 bash 启动的,或者是由您从 bash 启动的进程启动的,并且它们以某种方式得到了您原始 [=28] 的子项=].
当您退出 git bash 而不终止现有进程时,会发生这种情况。只需尝试终止您从 git bash 启动的那些进程。 我是 git bash 里面的 运行 节点进程,所以我杀死了所有节点进程 击杀步骤
- 打开任务管理器
- 转到详细信息选项卡
- 寻找node.exe(你寻找你的进程)
- 杀死每个节点进程
- 再次打开GitBash
如果您使用的是 Visual Studio 代码,但找不到 ssh-agent.exe 或无法将其 taskkill,在打开 Git Bash 后,您会得到错误,只需转到 VSCode 打开终端 > 新终端,然后按垃圾桶图标(杀死终端)。例如 (1:bash) 如果你有多个那么就把它们全部杀了你应该很好。
终于弄清楚是什么原因造成的。
如果我们使用这样的代码(显式或隐式),即在 .bashrc
文件中
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
它产生了一个新进程。
如果您不退出它而只是关闭 window,该过程仍在 运行ning。所以每个新 bash 打开只是不断添加新的 w/out 处理旧的。
完成 bash window 后,只需点击 ctrl+d
或键入 exit
即可终止代理进程,您不应该 运行叉子。
在系统 bash 中输入:
ps
杀死所有外观不佳的进程:
kill -9 <ID>
对我有用。
只需重新启动您的机器,在重新启动我们的机器时,此问题已解决,请尝试。
Windows 10 这对我有用:
1) 以管理员身份打开cmd
2) 输入:
taskkill /f /im git-bash.exe
3) 如果出现错误:找不到进程 "ssh-agent.exe"。然后:
类型:
tasklist
4) 查找并杀死每个带有 "bash" 或 "git" 的进程(这可能是一个危险的解决方案,但是一旦找到进程名称,下次您就会知道。)
taskkill /f /im ***.exe
就我而言,它与使用 VS 代码有关。以前我使用 git bash 终端打开 VS 代码并执行
code .
然后关闭终端。
关闭所有打开的VS代码windows问题解决
当您有任何编辑器或 IDE 配置以 git bash 打开终端时,当 IDE/IDE 为 运行 时,git bash 将从 "C:\Windows\System32\bash.exe" 旋转 bash 并且任何其他尝试从单独的 window 打开 bash 都可能会崩溃。
最佳解决方案是终止 IDE/Editor bash 并从新的 window 打开或从 IDE/Editor 命令继续。
我的情况是,解决方案是关闭 Visual Studio 代码 - 我也有控制台 运行 而没有注意到 -
关闭后一切恢复正常。 希望这对某人有所帮助。
对于 windows,在任务管理器中 kill sh.exe。
在我的案例中,我需要在 Windows 中杀死 Git bash。 所以在命令
下面打开命令提示符和 运行$ tasklist
它将列出所有 运行 任务,然后需要使用以下命令终止 bash.exe 任务
$ taskkill /F /IM bash.exe
在我的例子中,我有一个杂散的 abd.exe 仍然在任务管理器中打开。杀死它解决了这个问题。
就我而言,我需要杀死 sh.exe
taskkill /F /IM sh.exe
在我的例子中,问题是文件 [git_install_dir]/etc/nsswitch.conf
我之前按照此处给出的说明进行操作: https://cygwin.com/faq.html#faq.using.startup-slow。 但这反而导致了“Could not fork”错误。 我的错误 nsswitch.conf 文件是:
passwd: files
group: files
所以我恢复了文件,问题解决了。现在我的 [git_install_dir]/etc/nsswitch.conf 是:
passwd: files db
group: files # db
db_enum: cache builtin
db_home: env windows cygwin desc
db_shell: env windows # cygwin desc
db_gecos: env # cygwin desc
如果您打开了另一个 VS 代码的终端会话,只需将其关闭并重试,它将正常工作。
当我编辑 bash_profile 并重新启动 git bash.
时,我开始出现这个问题我在 VS Code 中关闭终端会话后,问题得到解决。之后一切都按预期进行。
在我的例子中,我是 运行ning jupyter-notebook 来自 Git Bash 并在没有关闭笔记本的情况下关闭了终端。当我关闭所有 运行ning git bash 终端并尝试打开新终端时,这给了我错误:
Error: Could not fork child process: There are no available terminals (-1).
解决方案
taskkill /F /IM jupyter-notebook.exe
之后,我可以在 git bash 终端中 运行 命令。