我曾经有8个git bash终端同时运行。
目前我只有2个。
我以前没有见过这个错误,我不知道是什么原因造成的。
任何帮助都将不胜感激!
图片附件:
我曾经有8个git bash终端同时运行。
目前我只有2个。
我以前没有见过这个错误,我不知道是什么原因造成的。
任何帮助都将不胜感激!
图片附件:
当前回答
请在“任务管理器”窗口中找到ssh-agent进程。 停止或杀死ssh-agent进程后,错误将消失。
其他回答
为了简化工作(这种问题经常发生),在主目录下创建一个名为fixbash.bat的文件,并粘贴如下:
taskkill /f /IM ssh-agent.exe
当问题发生时,只需打开cmd并键入fixbash.bat来修复问题。
Or
如果你不想创建一个脚本,只需将taskkill命令粘贴到你的cmd。
如果你正在使用Visual Studio Code,你找不到ssh-agent.exe,或者不能taskkill它,在打开Git Bash后你得到这个错误,只要去你的VSCode打开终端>新终端,然后按下垃圾桶图标(Kill Terminal)。例(1:bash)如果你有多个,那么就把他们都杀了,你应该是好的。
在我的例子中,问题是[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窗口。 打开任务管理器。 找到“Git for Windows”进程。 杀死它。 打开Git Bash。
现在应该没问题了。
终于找到原因了。
如果我们使用这样的代码(显式或隐式),即在.bashrc文件中
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
它生成一个新进程。
如果您不退出它,只是关闭窗口,则该进程仍在运行。所以每一个新的bash打开只是不断添加新的w/不处置旧的。
使用bash窗口时,只需按ctrl+d或键入exit来终止代理进程,就不会用光fork。