答案 0 :(得分:48)
在此处找到类似问题和潜在解决方案:https://groups.google.com/forum/#!topic/git-for-windows/EO27WWvHx64
我不确定你们是否仍然有这个问题,但我找到了一个非常简单的修复程序,对我有用。我打开了一个Windows命令提示符并运行命令$ tasklist
看起来我在我的git bash shell中创建的ssh连接没有被关闭,当那些窗口被关闭并挂起可用的git bash shell窗口时。
这可能是一个危险的解决方案但是从Windows命令提示符我运行$ taskkill / F / IM ssh.exe
此后一切似乎都在恢复。它可能不会直接成为孤儿进程的问题,但这至少对我有用。祝你好运!
答案 1 :(得分:42)
当我在不使用exit的情况下杀死我的git bash控制台时,我在git bash中看到了windows上的问题。我发现从Windows任务管理器中杀死ssh-agent.exe任务来修复问题。
答案 2 :(得分:16)
就我而言,这与VS代码的使用有关。以前,我已经使用git bash终端打开VS代码并执行
code .
然后关闭终端。
通过关闭所有打开的VS代码窗口来解决该问题。
当您将任何编辑器或IDE配置为以git bash的形式打开终端时,然后在运行IDE / IDE时,git bash将从“ C:\ Windows \ System32 \ bash.exe”及任何从单独的窗口打开bash的其他尝试很可能会崩溃。
最好的解决方案是杀死IDE / Editor bash,然后在新窗口中打开它,或者从IDE / Editor命令继续。
答案 3 :(得分:14)
我通过解决方法解决了这个问题:
现在应该没问题。
答案 4 :(得分:5)
重新启动你的机器。
(其他答案对我不起作用。(我没有尝试重新安装。重启可能更快。)
答案 5 :(得分:5)
为使生活更轻松(此问题经常发生),请在主目录中创建一个名为fixbash.bat
的文件并将其粘贴:
taskkill /F /IM ssh-agent.exe
发生问题时,只需打开cmd
并输入fixbash.bat
即可解决问题。
或
如果不想创建脚本,只需将taskkill命令粘贴到cmd
中。
答案 6 :(得分:4)
打开任务管理器并使用bash名称杀死进程,这对我有用。
答案 7 :(得分:4)
在不终止现有进程的情况下退出git bash时会发生这种情况。只需尝试杀死从git bash开始的那些进程即可。 我在git bash中运行节点进程,所以我杀死了所有节点进程 杀死步骤
答案 8 :(得分:4)
就我而言,我需要在Windows中杀死Git bash。 因此打开了命令提示符并在命令下运行
$ tasklist
它将列出所有正在运行的任务,然后需要使用以下命令杀死bash.exe任务
$ taskkill /F /IM bash.exe
答案 9 :(得分:3)
对于我(或任何运行量角器的人,可能会启动一个独立的Selenium / WebDriver服务器),我需要taskkill
正在运行我的测试的特定webdriver 。
所以只是一个不同的论点: 或者您的chromedriver 版本可能会有所不同
taskkill /f /im chromedriver_2.34.exe
请注意驱动程序可能会有所不同:
IEDriverServer*.*.*.exe
vs chromedriver_*.**exe
您的驱动程序版本可能会有所不同:chromedriver_2.34.exe
vs chromedriver_2.33.exe
在没有关闭自动/测试驱动的浏览器的情况下,量角器退出后,这个问题变得更糟(由于我还不了解一个单独的问题。)当然,很多chromedriver
个任务仍然存在跑步,这就是杀死他们的原因。
答案 10 :(得分:3)
似乎确实与git bash启动的过程有关,就像@mamacdon在他对@Scott Newson的最佳答案的评论中所建议的那样。
对我来说,如果我使用code
从bash启动了vscode,并且在原始bash仍在运行的情况下,此vscode实例启动了集成的git终端,则出现了问题。
该终端是在启动时启动还是在以后启动都没有关系,只要原始bash仍在运行即可。
在打开集成终端之前关闭bash时没有发生。没有区分exit
和通过Windows关闭bash。另一个旧的bash窗口仍在运行没有发生。
处理该问题的方法是,我用exit
或'Kill Terminal'关闭vscode中的终端(请注意不要将其与'close panel'混淆),或者当然要关闭vscode本身。
如果遇到此错误,请记住自己从bash启动的内容并杀死它。如果其他答案对您有用,则可能仅仅是这些由bash启动或由您从bash启动的进程启动的东西,并且它们某种程度上让您成为了原始bash的孩子。
答案 11 :(得分:2)
打开任务管理器,搜索" sh"促成并杀死他们。 祝你好运
答案 12 :(得分:2)
我的情况是,解决方案是关闭Visual Studio代码-我在没有注意的情况下也正在运行控制台-
关闭后,一切恢复正常。 希望这对某人有帮助。
答案 13 :(得分:2)
如果您使用的是Visual Studio Code,则找不到ssh-agent.exe或无法对其执行任务杀伤,并且在打开Git Bash之后会收到该错误,只需转到VSCode,打开Terminal> New Terminal,然后按垃圾桶图标(“杀死终端”)。例如(1:bash)如果您有多个,则将其全部杀死,您应该会很好。
答案 14 :(得分:2)
最终弄清是什么原因造成的。
如果我们使用这样的代码(显式或隐式),即在.bashrc
文件中
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
它产生一个新的过程。
如果您不退出窗口而只是关闭窗口,则该过程仍在运行。因此打开的每个新bash都会不断添加新bash,而不会丢弃旧bash。
使用bash窗口完成操作后,只需按ctrl+d
或键入exit
即可终止代理进程,并且不应用完分叉。
答案 15 :(得分:1)
我试图杀死任务管理器中的所有git终端解决了这个问题。 这对我也有用。 祝你好运。
答案 16 :(得分:1)
在更新版本的git for windows中,在任务管理器中杀死的过程是" GitExtensions.exe"。杀了这个,终端重新启动没有问题。
答案 17 :(得分:1)
请在“任务管理器”窗口中找到ssh-agent进程。 停止或终止ssh-agent进程后,错误将消失。
答案 18 :(得分:1)
重新安装git,现在工作正常。
答案 19 :(得分:0)
如果您打开了另一个 VS 代码终端会话,只需关闭它并重试,它会正常工作。
答案 20 :(得分:0)
对于Windows,请在任务管理器中杀死sh.exe。
答案 21 :(得分:0)
就我而言,我有一个杂散的abd.exe仍在任务管理器中打开。杀死它可以解决问题。
答案 22 :(得分:0)
就我而言,我需要杀死sh.exe
taskkill /F /IM sh.exe
答案 23 :(得分:0)
就我而言,问题出在文件 [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
答案 24 :(得分:0)
Windows 10对我有用:
1)以管理员身份打开cmd
2)类型:
taskkill /f /im git-bash.exe
3)如果出现错误:找不到进程“ ssh-agent.exe”。然后:
类型:
tasklist
4)用“ bash”或“ git”之类的词查找并杀死每个进程(这可能是一个危险的解决方案,但是一旦找到了进程名称,下次您就会知道。)
taskkill /f /im ***.exe
答案 25 :(得分:0)
通过关闭所有打开的命令行窗口来解决此问题。
答案 26 :(得分:0)
我发现在任务管理器中杀死msys2终端解决了这个问题
答案 27 :(得分:-1)
打开任务管理器,找到bash.exe进程并杀死它。对我来说有帮助。
答案 28 :(得分:-2)
只需重新启动计算机,即可在重新启动计算机的同时解决此问题。
答案 29 :(得分:-2)
在系统bash中输入:
ps
杀死任何看起来不好的过程:
kill -9 <ID>
为我工作。
答案 30 :(得分:-3)
当代码和gitbash同时运行时,并且在关闭它后又想打开gitbash时,遇到了这个问题。
我关闭了代码并打开gitbash,成功了。