힘내 bash 오류 : 자식 프로세스를 포크 할 수 없습니다 : 사용 가능한 터미널이 없습니다 (-1)


191

이전에 동시에 최대 8 개의 git bash 터미널을 실행했습니다.

현재 저는 2 명 밖에 없습니다.

나는이 오류를 전에 보지 못했으며 무엇이 원인인지 이해하지 못합니다.

도움을 주시면 감사하겠습니다!

첨부 된 사진 :

여기에 이미지 설명을 입력하십시오


10
bash 프로세스를 죽이면 나를 위해 일했습니다.
bfranzen

36
모든 현재 답변에 -1. "터미널을 종료하고 다시 시작하십시오"의 모든 변형. 근본적인 문제는 무엇입니까? 왜 100 개의 터미널을 가질 수 없습니까?
RJFalconer

32
나는이 문제를 했어 같은 긴 시간과의 바닥에 얻을 수 없었. 일부 핸들을 열어 둘 수있는 열려있는 응용 프로그램 인 것처럼 보이지만 내 경우에는 bash 프로세스가 닫히고 ssh 프로세스가 없습니다 (사용 중입니다 mosh). 방금 사용하여 vscode를 시작한 vscode .다음 열 때 사용한 터미널을 닫아서 문제를 복제 할 수있었습니다 . vscode 창이 열려있는 동안 Cygwin은 더 많은 터미널을 열지 않으려는 것 같습니다. 닫 자마자 작동합니다.
Elven Spellmaker

25
@ElvenSpellmaker 당신이 맞아요, 그것은 code .제 경우와 관련이 있습니다.
Bilal Khoukhi

15
확인을 위해서만 : 오늘 문제에 부딪 쳤고, code .제 경우도있었습니다. VS 코드를 닫으면 문제가 해결되었습니다. @ElvenSpellmaker
kb를

답변:


83

Google 그룹 에서 비슷한 문제와 해결책을 찾았습니다.

Windows 명령 프롬프트를 열고 명령을 실행했습니다.

$ tasklist

마치 git bash 쉘에서 만든 ssh 연결이 해당 창을 닫을 때 닫히지 않고 사용 가능한 git bash 쉘 창에 매달려있는 것처럼 보입니다.

이것은 위험한 해결책 일 수 있지만 Windows 명령 프롬프트에서 내가 실행했습니다.

$ taskkill /F /IM ssh.exe 

이 후 모든 것이 다시 작동하는 것으로 보입니다. 고아 프로세스의 문제가 아니었을 수도 있지만 적어도 나에게는 효과가있었습니다.

추가 참고 사항 : 예를 들어 다음과 같은 다른 프로세스를 종료 할 수도 있습니다.

$ taskkill /F /IM vim.exe

6
필자의 경우 범인은 node.exe(Node.js)와 link.exe(GNU 링크) 이지만이 절차는 효과적이었습니다 . 따라서 유죄 절차를 위해 작업 목록을 찾아야 할 수도 있습니다. 왜 그런지 잘 모르겠지만 Bash 세션에서 시작된 프로그램이 어떻게 든 상위 쉘보다 수명이 오래 걸리는 것처럼 보입니다.
mamacdon

1
scott에게 감사합니다.이 절차는 @mamacdon이 언급 한대로 내 경우에도 culprits는 node.exe였습니다.
S52

21
나를 위해, "taskkill / F / IM ssh-agent.exe"를 수행해야했지만 투표를하기에는 충분히 가까워졌습니다.
Dylan Kapp

12
나는 명령을 node.exe을 죽일했다taskkill /F /IM node.exe
Tarator

1
내 경우 (Cygwin 사용) 여전히 실행중인 단일 adb.exe였습니다. 그것을 죽이면 해결되었습니다.
Diego Andrade

58

종료를 사용하지 않고 git bash 콘솔을 종료하면 git bash의 창에 문제가 있습니다. 문제를 해결하기 위해 Windows 작업 관리자에서 ssh-agent.exe 작업을 종료하는 것을 발견했습니다.


4
이것은 처음에는 효과가있었습니다. 이제는 ssh-agent.exe를 죽인 후에도 여전히 얻습니다.
Leo

1
이것은 단기 해결책입니다. 문제는 결국 돌아옵니다. 이 문제를 해결하는보다 영구적 인 방법이 있기를 바라고 있습니다
Sonic Soul

1
또한 노드가 때때로 실행 상태로 남아 있다는 것을 알았습니다. 죽이는 것이 문제를 해결하는 것처럼 보였습니다.
MusicDev

"sh.exe"프로세스를 종료 한 후 문제가 해결되었습니다. 모두 감사합니다.
마리스

"winpty-agent.exe"를 죽이는 것은 나를 위해 일했다.
demstair

48

필자의 경우 VS 코드 사용과 관련이 있습니다. 이전에는 git bash 터미널을 사용하여 VS 코드를 열고 실행했습니다.

code .

그런 다음 터미널을 닫습니다.

열린 VS 코드 창을 모두 닫으면 문제가 해결됩니다.

편집기 또는 IDE가 터미널을 git bash로 열도록 구성한 경우 IDE / IDE가 실행 중일 때 git bash는 "C : \ Windows \ System32 \ bash.exe"에서 bash를 시작합니다. 별도의 창에서 bash를 열면 충돌이 발생할 수 있습니다.

가장 좋은 해결책은 IDE / Editor bash를 종료하고 새 창에서 열거 나 IDE / Editor 명령을 계속하는 것입니다.


4
고마워, 나도 같은 문제였다
Tarun Nagpal

1
매력처럼 일했다! 감사!
jrend

1
같은 문제가 있었다. cmd에서 vs 코드를 열어야합니다.
리처드

정확히 같은 문제입니다. 감사.
Lucien Lu

정확히 같은 문제입니다. 어쨌든 고마워
amar 깊은

33

해결 방법으로이 문제를 해결합니다.

  1. 힘내 배쉬 창을 닫습니다.
  2. 작업 관리자를 엽니 다.
  3. 'Git for Windows'프로세스를 찾으십시오.
  4. 죽여.
  5. Git Bash를 엽니 다.

이제 괜찮을거야.


3
가장 쉬운 솔루션. 너무 간단합니다.
JkAlombro

2
필자의 경우 bash.exe를 실행하고 종료했습니다.
Gilberto Albino

8

삶을 더 쉽게 만들려면 (이 문제는 자주 발생합니다) fixbash.bat홈 디렉토리에 파일을 만들고 붙여 넣으십시오.

taskkill /F /IM ssh-agent.exe

문제가 발생하면 열고 문제 를 해결하기 위해 cmd입력 fixbash.bat하십시오.

또는

cmd스크립트를 작성하지 않으려면 taskkill 명령을에 붙여 넣으십시오 .


2
반환 :ERROR: The process "ssh-agent.exe" not found.
제시 레자 Khorasanee

이 솔루션은 저에게 효과적이었습니다. 그러나 많은 작업이있을 수 있으므로 작업 관리자로 이동하여 모든 ssh-agent.exe를 종료해야합니다.
Java Main

6

컴퓨터를 다시 시작하십시오.

(다른 답변은 저에게 효과가 없었습니다. (다시 설치하지 않았습니다. 다시 시작하는 것이 더 빠릅니다.)


3
그래도 작동하지 않으면 컴퓨터를 다시 설치하거나 새 컴퓨터를 구입하십시오.
john16384

6

나 (또는 ​​독립 실행 형 Selenium / WebDriver 서버를 가동시킬 수있는 각도기를 실행하는 사람) 에게는 테스트를 실행 taskkill하는 특정 웹 드라이버 가 필요했습니다 .

따라서 다른 주장 : 또는 chromedriver 버전 이 다를 수 있습니다.

taskkill /f /im chromedriver_2.34.exe

당신의 참고 드라이버는 달라질 수 있습니다 : IEDriverServer*.*.*.exechromedriver_*.**exe

귀하의 드라이버 5 월의 버전이 다를 수 있습니다 : chromedriver_2.34.exechromedriver_2.33.exe

이 문제는 자동 / 테스트 기반 브라우저를 닫지 않고 각도기 종료 후 나빠졌습니다 (아직 이해하지 못하는 별도의 문제로 인해). 당연히 많은 chromedriver작업이 계속 실행되어 종료됩니다.


3
네, 이것은 내 문제였습니다. Selenium을 사용하여 JavaScript를 처리해야하기 때문에 curl 및 wget을 사용할 수없는 일부 웹 사이트에서 물건을 가져 오는 편리한 스크립트가 있습니다. 어쨌든, 나는 보통 아침에 한 번 실행하고 때로는 끊어집니다. 이 게시물을 볼 때 까지이 cygwin 오류와 상관 관계가 없었으므로 감사합니다! 종료하기 전에 chromedriver.exe 프로세스를 종료하기 위해 셀레늄을 호출하는 스크립트를 업데이트하겠습니다.
beaudet

6

작업 관리자를 열고 bash라는 이름으로 프로세스를 종료하십시오.


6

기존 프로세스를 종료하지 않고 git bash를 종료하면 발생합니다. git bash에서 시작한 프로세스를 시도하고 종료하십시오. git bash 내에서 노드 프로세스를 실행 중이므로 모든 노드 프로세스를 종료했습니다.

  1. 작업 관리자 열기
  2. 이동 세부 사항 탭
  3. node.exe를 찾으십시오 (프로세스를 찾으십시오)
  4. 각각의 모든 노드 프로세스를 종료하십시오.
  5. Git Bash를 다시 엽니 다

2
내 경우에는이었다 adb shell. 그래서 나는 adb kill-server이미 열린 창에서 달려서 나를 위해 그것을 고쳤습니다. +1
lucidbrot

일했다. 그러나 도대체 ... 나는 몇 달 동안 node.js를 수행하지 않았습니다 .... 왜 실행 되었습니까?
JMI MADISON

5

결국이 원인을 파악했습니다.

우리가 이와 같은 코드를 (명시 적으로 또는 암시 적으로) 즉, .bashrc파일 에서 사용한다면

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

새로운 프로세스를 생성합니다.

종료하지 않고 창을 닫으면 프로세스가 여전히 실행 중입니다. 그래서 각각의 새로운 bash는 오래된 것들을 폐기하지 않고 새로운 것들을 계속 추가합니다.

bash 창으로 끝나면 에이전트 프로세스를 종료하기 위해 간단히 누르 ctrl+d거나 입력 exit하면 포크가 부족하지 않아야합니다.


3

@mamacdon이 @Scott Newson의 최상위 답변에 대한 의견에서 제안한 것처럼 실제로 git bash에서 시작된 프로세스에 문제가있는 것 같습니다.

나에게 문제는을 사용하여 bash code에서 vscode를 시작 하고이 vscode 인스턴스가 원래 bash가 여전히 실행되는 동안 통합 git 터미널을 시작한 경우에 나타납니다.

원래 bash가 여전히 실행되는 동안 터미널이 시작 또는 나중에 시작되었는지는 중요하지 않습니다.

통합 터미널을 열기 전에 bash를 닫을 때 발생하지 않았습니다. 구분하지 않았다exit창을 통해 bash를 닫고 닫지 . 다른 오래된 bash 창이 여전히 실행 중이면 발생하지 않았습니다.

그것을 처리하는 방법은 내가 vscode exit또는 'Kill Terminal'로 터미널을 닫거나 ( 'close pane'과 섞이지 않도록주의하십시오) 물론 vscode 자체를 닫는 것이 었습니다.

이 오류가 발생하면 bash에서 시작한 것을 기억하고 죽이십시오. 다른 답변이 효과가 있다면 아마도 bash가 시작했거나 bash에서 시작한 프로세스에 의해 시작된 것일 수 있으며 어쨌든 원래 bash의 자식을 얻었을 것입니다.


3

Visual Studio Code를 사용하고 있고 ssh-agent.exe를 찾을 수 없거나 taskkill을 찾을 수없고 Git Bash를 연 후 오류가 발생하면 VSCode open Terminal> New Terminal로 이동하여 휴지통 아이콘을 누르십시오. (킬 터미널). 예를 들어 (1 : bash) 여러 개가 있으면 모두를 죽이면 좋을 것입니다.


3

제 경우에는 Windows에서 Git bash를 죽여야합니다. 그래서 명령 프롬프트를 열고 아래 명령을 실행했습니다.

$ tasklist

실행중인 모든 작업을 나열 한 다음 아래 명령을 사용하여 bash.exe 작업을 종료해야합니다

$ taskkill /F /IM bash.exe 


2

내 경우에는 해결책은 Visual Studio Code를 닫는 것입니다.

모두 닫으면 정상으로 돌아옵니다. 이것이 누군가를 돕기를 바랍니다.


1

작업 관리자에서 모든 자식 터미널을 죽이려고하면 문제가 해결됩니다. 이것은 나에게도 효과적입니다. 행운을 빕니다.


1

Windows 용 git의 최신 버전에서 작업 관리자에서 종료하는 프로세스는 "GitExtensions.exe"입니다. 그것을 죽이고 아무런 문제없이 터미널을 다시 시작했습니다.


1

작업 관리자 창에서 ssh-agent 프로세스를 찾으십시오. ssh-agent 프로세스를 중지하거나 종료하면 오류가 사라집니다.


1

제 경우에는 Visual Studio 코드를 실행하고 닫아서 문제를 해결했습니다.


1
왜 이것이 다운 투표인지 잘 모르겠고 나를 위해 일했습니다. 또한 Visual Studio 코드는 터미널을 생성 할 수 있으므로이 문제에 영향을 줄 수 있습니다.
제시 레자 코라 사니



0

작업 관리자를 열고 bash.exe 프로세스를 찾아서 종료하십시오. 내 경우에 도움이되었습니다.


0

Windows 10 이것은 나를 위해 일했습니다 :

1) 관리자 권한으로 cmd를 엽니 다.

2) 유형 :

taskkill /f /im git-bash.exe


3) 오류가 발생한 경우 : "ssh-agent.exe"프로세스를 찾을 수 없습니다. 그때:

유형:

tasklist

4) "bash"또는 "git"와 같은 단어로 모든 프로세스를 찾아서 종료하십시오 (이는 위험한 해결책 일 수 있지만 프로세스 이름을 찾으면 다음에 알게 될 것입니다).

taskkill /f /im ***.exe


0

내 경우에는 작업 관리자에 여전히 열려있는 stray abd.exe가 있습니다. 그것을 죽이면 문제가 해결되었습니다.



-1

컴퓨터를 다시 시작하십시오. 컴퓨터를 다시 시작하는 동안이 문제가 해결되었습니다.


4
그래도 문제가 해결되지 않으면 건물의 전원을 차단 한 다음 다시 연결하십시오. 그래도 문제가 해결되지 않으면 지역 전기 회사에 연락하여 전 지역의 전원을 차단하도록 요청하십시오 몇 순간 ... 등 "
refaelio

1
롤 나는 아주 바보 같은, 솔루션 소리를했다,하지만 :) 잘 작동
zeroDivider
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.