211

I have had up to 8 git bash terminals running at the same time before.

Currently I have only 2 up.

I have not seen this error before and I am not understanding what is causing it.

Any help would be appreciated!

Picture attached:

enter image description here

A. Petrizza
  • 2,854
  • 2
  • 11
  • 22
  • 14
    killing the bash process worked for me. – bfranzen May 02 '18 at 19:52
  • 40
    -1 to all current answers. All variations of "just kill terminal and start again". What's the underlying problem? Why can't I have 100 terminals? – RJFalconer Aug 16 '18 at 15:53
  • related: https://github.com/git-for-windows/git/issues/910 and https://github.com/git-for-windows/git/issues/1200 – RJFalconer Aug 16 '18 at 16:07
  • 32
    I've had this issue for _such_ a long time and never been able to get to the bottom of it. It seems to be applications that are left open which can cause some handles to remain open, but in my case the bash processes were being closed and there are no ssh processes around (I'm using `mosh`). I've just been able to replicate the issue by launching vscode using `vscode .` and then closing the terminal used to open it. While the vscode window stays open it seems Cygwin doesn't want to open more terminals, as soon as I close it, it works. – Elven Spellmaker Nov 22 '18 at 18:34
  • 25
    @ElvenSpellmaker you're right, it has to do with `code .` in my case as well. – Bilal Khoukhi Jan 05 '19 at 22:11
  • 15
    Just for the sake of confirmation: Encountered the problem today, was also due to `code .` in my case. Closing VS Code cleared the issue. Great find @ElvenSpellmaker – kb. Mar 17 '19 at 19:05
  • 6
    Also due to `code .` for me. –  Apr 12 '19 at 11:41
  • 2
    For me also it was due to code . Closing it it will solve the issue. – Donald Shahini Sep 24 '19 at 08:36
  • > taskkill /F /IM bash.exe worked for me – estin sunny Oct 10 '19 at 12:57
  • 2
    reboot worked fine for me. – java-addict301 Nov 14 '19 at 16:44
  • I'm using `msys2` and had to kill three processes using Windows Task-Manager. I identified them by their commandline. – Bernhard Döbler Sep 17 '20 at 19:11

30 Answers30

92

Found a similar issue and solution in google groups

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.

Additional note: you can also kill other processes, for example like:

$ taskkill /F /IM vim.exe
Community
  • 1
  • 1
Scott Newson
  • 2,415
  • 1
  • 22
  • 25
72

In my case, it was related with the use of VS code. Previously I have opened VS code using a git bash terminal and executing

code .

then closing the terminal.

The problem is solved by closing all the VS code windows opened.

When you have any editor or IDE configure to open a terminal as git bash, then when the IDE/IDE is running, the git bash will spin up bash from "C:\Windows\System32\bash.exe" and any other attempt to open bash from a separate window is likely to crash.

The best solution is to kill the IDE/Editor bash and open from a new window or continue from the IDE/Editor command.

A. Petrizza
  • 2,854
  • 2
  • 11
  • 22
Federico Caccia
  • 1,412
  • 8
  • 27
65

I see the problem on windows in git bash when I kill my git bash console without using exit. I found killing ssh-agent.exe task from windows task manager to fix the problem.

Joe z
  • 769
  • 4
  • 2
  • 4
    This worked initially. Now I still get it, even after killing ssh-agent.exe. – Leo Nov 12 '17 at 02:01
  • 1
    this is a short term solution. the problem returns eventually. hoping there is a more permanent way to fix this issue – Sonic Soul May 08 '19 at 17:15
  • 1
    I also found that Node sometimes is left running as well, just killing that seemed to solve the issue for me. – MusicDev Aug 07 '19 at 04:17
  • after killing the process "sh.exe", the issue resolved. Thanks all. – maris Jan 06 '20 at 10:01
35

I address this with a workaround:

  1. Close the Git Bash window.
  2. Open Task manager.
  3. Find the 'Git for Windows' process.
  4. Kill it.
  5. Open Git Bash.

It should be ok now.

Return_Of_The_Archons
  • 1,490
  • 3
  • 18
  • 25
8

To make life easier (this problems happens quite often) create a file called fixbash.bat in home directory and paste this:

taskkill /F /IM ssh-agent.exe

When problem occurs just open cmd and type fixbash.bat to fix a problem.

Or

Just paste the taskkill command into your cmd if you don't want to create a script.

klimat
  • 23,063
  • 7
  • 56
  • 67
7

Restart your machine.

(The other answers did not work for me. (I didn't try reinstalling. Restarting is probably faster.))

andydavies
  • 2,205
  • 2
  • 24
  • 34
7

This happens when you exit git bash without terminating existing process. Just try and kill those processes that you started from git bash. I was running node process inside git bash, so I killed all node processes Steps to kill

  1. Open Task Manager
  2. Goto Details Tab
  3. Look for node.exe(you look for you processes)
  4. Kill it each and every node process
  5. Open Git Bash again
Ishan
  • 538
  • 1
  • 6
  • 17
6

For me (or anyone running protractor, which may spin up a standalone Selenium/WebDriver server), I needed to taskkill the specific webdriver which was running my tests.

So just a different argument: or your chromedriver version may vary

taskkill /f /im chromedriver_2.34.exe

Note your driver may vary: IEDriverServer*.*.*.exe vs chromedriver_*.**exe

Your driver may version may vary:chromedriver_2.34.exe vs chromedriver_2.33.exe

This problem got worse after protractor quit without closing the automated /test-driven browser, (due to a separate issue I don't yet understand.) Naturally many chromedriver tasks remain running, that's why kill them.

The Red Pea
  • 12,346
  • 12
  • 77
  • 112
  • 3
    Yep, this was my problem. I have convenience script that uses Selenium to fetch some stuff from some web sites where curl and wget cannot be used due to having to process JavaScript. Anyway, I usually run this once in the morning and sometimes it gets hung up. I never made the correlation with this cygwin error until I saw this post, so THANKS! I'm going to update the script that calls selenium to kill the chromedriver.exe process before exiting. – beaudet Sep 26 '18 at 18:37
6

Open task manager and kill process with name bash, this worked for me.

Hari
  • 89
  • 1
  • 6
5

finally figured out what was causing this.

if we use code like this (explicitly or implicitly) i.e. in .bashrc file

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

it spawns a new process.

if you don't exit it and just close the window, that process is still running. so each new bash opened just keeps adding new ones w/out disposing old ones.

when done with a bash window, simply hit ctrl+d or type exit to kill the agent process, and you should not run out of forks.

Sonic Soul
  • 21,043
  • 31
  • 118
  • 190
4

In my Case I need to kill Git bash in Windows. So opened Command Prompt and ran below command

$ tasklist

It will list down all running tasks, then need to kill bash.exe task using below command

$ taskkill /F /IM bash.exe 
Vatsal Shah
  • 972
  • 14
  • 21
3

Seems to be an issue with the processes launched from the git bash indeed, like @mamacdon suggested in his comment on the top answer by @Scott Newson.

For me, the issue appeared if I launched a vscode from the bash with code, and if this instance of vscode launched an integrated git terminal while the original bash was still running.

Doesn't matter whether that terminal was launched at the start or later, as long as it was while the original bash was still running.

Didn't happen when the bash was closed before the integrated terminal was opened. Didn't differentiate between exit and closing bash via windows. Didn't happen with another older bash window still running.

The way to deal with it was for me to close the terminals in vscode with exit or 'Kill Terminal' (be careful not to mix that up with 'close pane'), or of course, closing vscode itself.

If you get this error try to remember what you launched from the bash and kill it. If the other answers worked for you, it's probably just that these are the things launched by your bash or launched by processes you launched from the bash and they somehow were getting a child of your original bash.

Lauren Van Sloun
  • 1,070
  • 5
  • 17
  • 20
Sam96
  • 806
  • 6
  • 15
3

If you are using Visual Studio Code and you can't find ssh-agent.exe or can't taskkill it and after opening Git Bash you get that error, just go to your VSCode open Terminal>New Terminal and just press the trashbin icon the (Kill Terminal). e.g (1:bash) if you got multiple then just kill them all and you should be good.

Justin
  • 57
  • 2
  • 7
2

Open your Task manager, search "sh" procces and kill them. Good luck

Grace Nikole
  • 83
  • 1
  • 6
2

Im my case, the solution was to close Visual Studio Code -where I had console running too without noticing-

After closing it all back to normal. Hope this helps someone.

Herzlin
  • 401
  • 1
  • 5
  • 17
1

I tried to kill all my git terminals in task manager solves the problem. This works for me too. good luck.

1

On a more recent version of git for windows, the process to kill in task manager was "GitExtensions.exe". Killed that and the terminals restarted with no issues.

Joe Shelby
  • 56
  • 3
1

Please find the ssh-agent process in the Task Manager window. After you stop or kill the ssh-agent process the error will disappear.

Sohan Jangid
  • 69
  • 1
  • 6
1

In my case I had visual studio code running and closing it resolved the issue.

mhand
  • 1,061
  • 1
  • 10
  • 17
  • 1
    Not sure why this is getting downvoted, worked for me. Also, visual studio code can have generate terminals so it's not surprising it could effect this issue. – Jesse Reza Khorasanee Aug 20 '19 at 00:13
1

Windows 10 this worked for me:

1) open cmd as administrator

2) type:

taskkill /f /im git-bash.exe


3) If there was an Error: The process "ssh-agent.exe" not found. then:

type:

tasklist

4) Find and kill every process with words like "bash" or "git" (This may be a dangerous solution, but once you will find the process name, next time you will know.)

taskkill /f /im ***.exe
Radim Šafrán
  • 101
  • 2
  • 9
1

For windows, in task-manager kill sh.exe.

Gürcan Kavakçı
  • 497
  • 1
  • 10
  • 21
1

In my case, I needed to kill sh.exe taskkill /F /IM sh.exe

Sharon
  • 369
  • 2
  • 11
0

Reinstalled git, it is now working fine.

Deckerz
  • 2,558
  • 11
  • 31
prathesh p
  • 45
  • 7
0

i found that killing msys2 terminal in task manager solves the problem

user2293554
  • 311
  • 3
  • 14
0

Open Task manager, find bash.exe process and kill it. Helped in my case.

Bahti
  • 11
0

In my case, I had a stray abd.exe that was still open in task manager. Killing it fixed the issue.

cag8f
  • 543
  • 5
  • 24
0

In my case the problem was the file [git_install_dir]/etc/nsswitch.conf

I previously followed the instructions given here: https://cygwin.com/faq.html#faq.using.startup-slow. But this caused the "Could not fork" error instead. My wrong nsswitch.conf file was:

passwd: files
group: files

So I restored the file and problem solved. Now my [git_install_dir]/etc/nsswitch.conf is:

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
0

if you have another terminal session of VS code opened,just close it and try again, it will work fine.

Salim Nadji
  • 149
  • 1
  • 3
-1

In system bash type:

ps

Kill any bad looking process:

kill -9 <ID>

Worked for me.

-1

Just Restart Your Machine, While Restarting our machine this issue is solved try it.

Akshay Salvi
  • 131
  • 5