Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git bash错误:无法派生子进程:没有可用的终端(-1)_Git_Terminal_Git Bash - Fatal编程技术网

Git bash错误:无法派生子进程:没有可用的终端(-1)

Git bash错误:无法派生子进程:没有可用的终端(-1),git,terminal,git-bash,Git,Terminal,Git Bash,我以前在同一时间运行过多达8个git bash终端 目前我只有两个以上 我以前从未见过这个错误,我也不明白是什么导致了它 任何帮助都将不胜感激 附图: 在中发现了类似的问题和解决方案 我打开一个windows命令提示符并运行该命令 $ tasklist 看起来,当那些窗口关闭时,我在git bash shell中建立的ssh连接并没有关闭,而是挂起了可用的git bash shell窗口 这可能是一个危险的解决方案,但我从windows命令提示符运行 $ taskkill /F /IM ssh

我以前在同一时间运行过多达8个git bash终端

目前我只有两个以上

我以前从未见过这个错误,我也不明白是什么导致了它

任何帮助都将不胜感激

附图:


在中发现了类似的问题和解决方案

我打开一个windows命令提示符并运行该命令

$ tasklist
看起来,当那些窗口关闭时,我在git bash shell中建立的ssh连接并没有关闭,而是挂起了可用的git bash shell窗口

这可能是一个危险的解决方案,但我从windows命令提示符运行

$ taskkill /F /IM ssh.exe 
此后,一切似乎都恢复了正常。这可能不是孤立进程的直接问题,但至少对我来说是有效的

附加说明:您还可以终止其他进程,例如:

$ taskkill /F /IM vim.exe

当我在不使用exit的情况下关闭git bash控制台时,我在git bash中看到了windows上的问题。我发现从windows任务管理器中删除ssh-agent.exe任务可以解决此问题。

重新安装了git,现在工作正常。

我发现在任务管理器中删除msys2终端可以解决此问题。

重新启动计算机

(其他答案对我不起作用。(我没有尝试重新安装。重新启动可能更快。)

对于我(或者任何运行量角器的人,它可能会启动一个独立的Selenium/WebDriver服务器),我需要
taskkill
运行测试的特定WebDriver

那么就换一种说法: 或者您的chromedriver版本可能会有所不同

taskkill /f /im chromedriver_2.34.exe
请注意,您的驱动程序可能会有所不同:
IEDriverServer*.exe
vs
chromedriver\u***exe

您的驱动程序版本可能有所不同:
chromedriver_2.34.exe
vs
chromedriver_2.33.exe


当量角器在没有关闭自动/测试驱动浏览器的情况下退出后,这个问题变得更严重(由于一个我还不明白的问题)。自然地,许多
chromedriver
任务仍在运行,这就是为什么要杀死它们。

我试图在task manager中杀死所有git终端,解决了这个问题。 这对我也有用。
祝你好运。

我用一个解决方法来解决这个问题:

  • 关闭gitbash窗口
  • 打开任务管理器
  • 查找“Git for Windows”进程
  • 杀了它
  • 打开gitbash
    现在应该可以了。

    打开任务管理器,搜索“sh”进程并杀死它们。
    祝你好运

    在更新版本的git for windows上,任务管理器中要终止的进程是“GitExtensions.exe”。已终止,终端重新启动,没有问题。

    请在任务管理器窗口中找到ssh代理进程。
    停止或终止ssh代理进程后,错误将消失。

    打开任务管理器并终止名为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实例在原始bash仍在运行时启动了一个集成的git终端,那么问题就出现了

    不管终端是在开始时启动的还是以后启动的,只要它在原始bash仍在运行时启动就行

    在集成终端打开之前关闭bash时没有发生。没有区分退出和通过windows关闭bash。在另一个较旧的bash窗口仍在运行时没有发生

    处理这个问题的方法是,我用
    exit
    或“Kill Terminal”(注意不要将其与“close pane”混淆)关闭vscode中的终端,当然,也可以关闭vscode本身


    如果出现此错误,请尝试记住从bash启动的内容并将其杀死。如果其他答案对您有效,那么可能只是这些东西是由您的bash启动的,或者是由您从bash启动的进程启动的,它们以某种方式获得了原始bash的子版本。

    当您退出git bash而不终止现有进程时,就会发生这种情况。只需尝试杀死从git bash开始的那些进程。 我在git bash中运行节点进程,所以我杀死了所有节点进程 杀人的步骤

  • 打开任务管理器
  • 转到详细信息选项卡
  • 查找node.exe(查找进程)
  • 在每个节点进程中杀死它
  • 再次打开Git Bash

  • 如果您使用的是Visual Studio代码,但找不到ssh-agent.exe或无法taskkill它,并且在打开Git Bash后出现该错误,只需转到VSCode open Terminal>New Terminal,然后只需按垃圾箱图标(Kill Terminal)。e、 g(1:bash)如果你得到了多个,那么就把它们全部杀死,你应该是个好人

    终于找到了原因

    如果我们使用这样的代码(显式或隐式),即在
    .bashrc
    文件中

    eval $(ssh-agent -s)
    ssh-add ~/.ssh/id_rsa
    
    它产生了一个新的过程

    如果您不退出该进程并关闭窗口,则该进程仍在运行。因此,每次打开新的bash都会不断添加新的bash,而不处理旧的bash

    使用bash窗口完成后,只需点击
    ctrl+d
    或键入
    exit
    即可杀死a
    taskkill /f /im git-bash.exe
    
    tasklist
    
    taskkill /f /im ***.exe
    
    code .
    
    $ tasklist
    
    $ taskkill /F /IM bash.exe 
    
    passwd: files
    group: files
    
    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