我曾经有8个git bash终端同时运行。
目前我只有2个。
我以前没有见过这个错误,我不知道是什么原因造成的。
任何帮助都将不胜感激!
图片附件:
我曾经有8个git bash终端同时运行。
目前我只有2个。
我以前没有见过这个错误,我不知道是什么原因造成的。
任何帮助都将不胜感激!
图片附件:
当前回答
只要重新启动您的机器,在重新启动我们的机器时,这个问题就解决了,试试吧。
其他回答
为了简化工作(这种问题经常发生),在主目录下创建一个名为fixbash.bat的文件,并粘贴如下:
taskkill /f /IM ssh-agent.exe
当问题发生时,只需打开cmd并键入fixbash.bat来修复问题。
Or
如果你不想创建一个脚本,只需将taskkill命令粘贴到你的cmd。
我尝试了下面的方法,对我来说很有效:
杀死所有现有的git.exe 在Windows凭证管理器的通用凭证部分下添加了我的BitBucket凭证。
Windows 10对我来说很管用:
1)以管理员身份打开CMD
2)类型:
taskkill /f /im git-bash.exe
3)如果有一个错误:进程“ssh-agent.exe”没有找到。然后:
类型:
tasklist
4)用“bash”或“git”这样的词查找并杀死每个进程(这可能是一个危险的解决方案,但一旦你找到了进程名,下次你就会知道了。)
taskkill /f /im ***.exe
在我的例子中,问题是[git_install_dir]/etc/nsswitch.conf文件
我之前遵循了这里给出的说明: https://cygwin.com/faq.html faq.using.startup-slow。 但这反而导致了“无法分叉”错误。 我错误的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
从git bash启动的进程似乎确实有问题,就像@mamacdon在他对@Scott Newson的回答的评论中所建议的那样。
对我来说,如果我从带有代码的bash中启动了vscode,如果vscode的这个实例在原始bash仍在运行时启动了集成的git终端,就会出现问题。
该终端是在开始时启动还是稍后启动并不重要,只要它是在原始bash仍在运行时启动的。
在集成终端打开之前,攻击已经结束,没有发生。不区分退出和关闭bash通过窗口。在另一个旧bash窗口仍在运行时没有发生。
对我来说,处理它的方法是用exit或'Kill Terminal'关闭vscode中的终端(注意不要与'close pane'混淆),当然,关闭vscode本身。
如果您得到这个错误,请尝试记住您从bash中启动了什么并杀死它。如果其他答案适用于您,可能只是这些是由您的bash启动的东西,或者是由您从bash启动的进程启动的,它们以某种方式获得了您原始bash的子程序。