Git bash Hatası: Alt süreç çatallanamadı: Kullanılabilir terminal yok (-1)


191

Daha önce aynı anda çalışan en fazla 8 git bash terminali vardı.

Şu anda sadece 2 tane var.

Bu hatayı daha önce görmedim ve neye sebep olduğunu anlamıyorum.

Herhangi bir yardım mutluluk duyacağız!

Ekli resim:

resim açıklamasını buraya girin


10
bash sürecini öldürmek benim için çalıştı.
bfranzen

37
Mevcut tüm cevaplara -1. "Sadece terminali öldür ve tekrar başla" nın tüm çeşitleri. Altta yatan sorun nedir? Neden 100 terminalim yok?
RJFalconer

32
Ben bu sorunu yaşadım böyle uzun bir süre ve bunun altına almak mümkün olmamıştı. Bazı tutamaçların açık kalmasına neden olabilecek açık bırakılan uygulamalar gibi görünüyor, ancak benim durumumda bash işlemleri kapanıyordu ve çevresinde ssh işlemleri yok (kullanıyorum mosh). Ben sadece vscode kullanarak başlatmak vscode .ve sonra açmak için kullanılan terminali kapatarak sorunu çoğaltmak mümkün . Vscode penceresi açık kalırken, Cygwin daha fazla terminal açmak istemiyor gibi görünüyor, kapatır kapatmaz çalışıyor.
Elf Spellmaker

25
@ElvenSpellmaker haklısın, code .benim durumumla da ilgisi var .
Bilal Khoukhi

15
Sadece onay uğruna: Bugünkü sorunla karşılaştım, code .benim durumumdan da kaynaklanıyordu . VS Kodunun kapatılması sorunu çözdü. Büyük bulmak @ElvenSpellmaker
kb.

Yanıtlar:


83

Google gruplarında benzer bir sorun ve çözüm buldum

Bir windows komut istemi açtım ve komutu çalıştırdım

$ tasklist

Benim git bash kabuklarımda yapmış olduğum ssh bağlantıları, bu pencereler kapatıldığında ve mevcut git bash kabuk pencerelerini asarken kapatılmamış gibi görünüyor.

Bu tehlikeli bir çözüm olabilir ama windows komut isteminden koştum

$ taskkill /F /IM ssh.exe 

Bundan sonra her şey tekrar çalışıyor gibi görünüyor. Doğrudan bir yetim süreci konusu olmayabilir, ama bu en azından benim için işe yaradı.

Ek not: Diğer işlemleri de öldürebilirsiniz, örneğin:

$ taskkill /F /IM vim.exe

6
Benim durumumda suçlular node.exe(Node.js) ve link.exe(GNU bağlantısı) olmasına rağmen bu prosedür işe yaradı . Bu nedenle suçlu süreçleri için görev listesini araştırmanız gerekebilir. Neden olduğundan emin değilim, ancak Bash oturumlarının içinden başlatılan programlar bir şekilde ana kabuklarını dışarıda bırakabilir gibi görünüyor.
mamacdon

1
Teşekkür ederim scott, bu prosedür @mamacdon tarafından bile benim durumumda suçluların node.exe olduğu gibi çalıştı.
S52

21
Benim için, "taskkill / F / IM ssh-agent.exe" yapmak zorunda kaldım ama bir yukarı oy için yeterince yakın.
Dylan Kapp

12
Komut ile node.exe'yi öldürmek zorunda kaldımtaskkill /F /IM node.exe
Tarator

1
Benim durumumda (Cygwin ile) hala çalışan tek bir adb.exe oldu. Öldürmek çözüldü.
Diego Andrade

58

Git bash konsolumu çıkış kullanmadan öldürdüğümde git bash pencerelerinde sorun görüyorum. Sorunu çözmek için Windows görev yöneticisinden ssh-agent.exe görevini öldürdüğümü buldum.


4
Bu başlangıçta işe yaradı. Şimdi hala ssh-agent.exe'yi öldürdükten sonra bile anladım.
Leo

1
bu kısa vadeli bir çözümdür. sorun sonunda geri döner. bu sorunu çözmenin daha kalıcı bir yolu olduğunu umarak
Sonic Soul

1
Ayrıca Node'nun bazen de çalışmayı bıraktığını gördüm, bu sadece benim için sorunu çözüyor gibi görünüyor.
MusicDev

"sh.exe" işlemini öldürdükten sonra sorun çözüldü. Hepinize teşekkürler.
maris

"Winpty-agent.exe" öldürmek benim için çalıştı.
demstair

48

Benim durumumda, VS kodunun kullanımı ile ilgiliydi. Daha önce bir git bash terminali kullanarak ve yürütme VS kodunu açtım

code .

sonra terminali kapatın.

Sorun, açılan tüm VS kod pencereleri kapatılarak çözülür.

Herhangi bir düzenleyiciniz veya IDE'niz bir terminali git bash olarak açacak şekilde yapılandırdığınızda, IDE / IDE çalışırken, git bash "C: \ Windows \ System32 \ bash.exe" den başka bir bash döndürür. ayrı bir pencereden açık bash çökmesi muhtemeldir.

En iyi çözüm IDE / Editor bash'ı öldürmek ve yeni bir pencereden açmak veya IDE / Editor komutundan devam etmektir.


4
Teşekkürler, benimle aynı problemdi
Tarun Nagpal

1
Bir cazibe gibi çalıştı! Teşekkürler!
jrend

1
Aynı sorun vardı. Sadece cmd cinsinden kodu vs açmalısınız.
Richard

Tam olarak aynı sorun. Teşekkürler.
Lucien Lu

tamamen aynı sorun. Yine de teşekkür ederim.
amar deep

33

Ben bir geçici çözüm ile ele:

  1. Git Bash penceresini kapatın.
  2. Görev yöneticisini açın.
  3. 'Windows için Git' işlemini bulun.
  4. Öldür.
  5. Git Bash'i açın.

Şimdi iyi olmalı.


3
en kolay çözüm. Çok açık.
JkAlombro

2
Benim durumumda, ben bash.exe çalışan vardı ve sadece öldürmek.
Gilberto Albino

8

Hayatı kolaylaştırmak için (bu sorunlar oldukça sık görülür) fixbash.bathome dizininde bir dosya oluşturun ve bunu yapıştırın:

taskkill /F /IM ssh-agent.exe

Sorun oluştuğunda , sorunu çözmek için sadece açın cmdve yazın fixbash.bat.

Veya

Komut cmddosyası oluşturmak istemiyorsanız taskkill komutunu bilgisayarınıza yapıştırmanız yeterlidir .


2
döndürür:ERROR: The process "ssh-agent.exe" not found.
Jesse Reza Khorasanee

Bu çözüm benim için çalıştı. Ancak görev yöneticisine gitmeli ve birçok ssh-agent.exe'yi öldürmelisiniz
Java Main

6

Makinenizi yeniden başlatın.

(Diğer cevaplar benim için işe yaramadı. (Yeniden yüklemeyi denemedim. Yeniden başlatma muhtemelen daha hızlıdır.))


3
Ve bu işe yaramazsa, makinenizi yeniden yükleyin veya yeni bir tane satın alın.
john16384

6

Bana (veya başkalarının çalışan iletki, tek başına bir Selenyum / WebDriver sunucusu dönmeye olabilir) için, ben için gerekli belirli webdriver benim testleri koşuyordu.taskkill

Bu yüzden sadece farklı bir argüman: ya da krom sürücü sürümünüz değişebilir

taskkill /f /im chromedriver_2.34.exe

Senin Not sürücü değişebilir: IEDriverServer*.*.*.exevschromedriver_*.**exe

Sürücünüzün sürümü değişebilir: chromedriver_2.34.exevschromedriver_2.33.exe

İletki otomatik / test odaklı tarayıcıyı kapatmadan bıraktıktan sonra bu sorun daha da kötüleşti (henüz anlamadığım ayrı bir sorun nedeniyle) Doğal olarak birçok chromedrivergörev çalışmaya devam ediyor, bu yüzden onları öldürüyoruz.


3
Evet, bu benim sorunumdu. JavaScript işlemek nedeniyle kıvırmak ve wget kullanılamaz bazı web sitelerinden bazı şeyler almak için Selenium kullanan kolaylık komut dosyası var. Her neyse, bunu genellikle sabahları bir kez çalıştırırım ve bazen asılır. Bu yazıyı görene kadar bu cygwin hatasıyla ilişki kurmadım, bu yüzden TEŞEKKÜRLER! Çıkmadan önce chromedriver.exe işlemini öldürmek için selenyum çağıran komut dosyasını güncelleyeceğim.
beaudet

6

Görev yöneticisini aç ve bash adıyla süreci öldür, bu benim için çalıştı.


6

Bu, mevcut işlemi sonlandırmadan git bash'dan çıktığınızda olur. Git bash ile başlattığınız işlemleri öldürmeye çalışın. Git bash içinde düğüm işlemi yürütüyordum, bu yüzden tüm düğüm işlemlerini öldürdüm

  1. Görev Yöneticisini Aç
  2. Ayrıntılar Sekmesine Git
  3. Düğüm.exe dosyasını arayın (süreçlerinizi ararsınız)
  4. Her düğüm sürecini öldür
  5. Git Bash'ı tekrar açın

2
Benim durumumda öyleydi adb shell. Bu yüzden adb kill-serverzaten açık bir pencerede koştum ve bunu benim için düzeltti. +1
lucidbrot

Çalışmış. Ama ne oldu ... Aylar boyunca node.js yapmadım ... Neden koşuyordu?
JMI MADISON

5

Sonunda buna neyin sebep olduğunu anladım.

.bashrcdosyada böyle (açıkça veya dolaylı olarak) kod kullanırsak

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

yeni bir süreç ortaya çıkarır.

pencereden çıkmaz ve pencereyi kapatmazsanız, bu işlem hala devam eder. bu yüzden açılan her yeni bash eskilerini bırakmadan yenilerini eklemeye devam ediyor.

bir bash penceresi ile işiniz bittiğinde , aracı işlemini öldürmek için vurmanız ctrl+dveya yazmanız yeterlidir exitve çatallarınız bitmemelidir.


3

@Mamacdon @Scott Newson tarafından en üstteki cevabındaki yorumunda önerdiği gibi, git bash'tan başlatılan süreçlerle ilgili bir sorun gibi görünüyor.

Benim için, bash ile codebir vscode başlattıysam ve orijinal bash hala çalışıyorken bu vscode örneği bir entegre git terminali başlattıysa sorun ortaya çıktı .

Bu terminalin, başlangıçta veya daha sonra, orijinal bash hala çalışıyorken başlatıldığı önemli değil.

Entegre terminal açılmadan bash kapatıldığında olmadı. exitPencereler arasındaki bash'ı kapatıp kapatamadı. Hala çalışan başka bir eski bash penceresi olmadı.

Bununla başa çıkmanın yolu, vscode'daki terminalleri exitveya 'Terminali Öldür' ile kapatmak ('yakın bölme' ile karıştırmamaya dikkat edin) veya elbette vscode'un kendisini kapatmaktı.

Bu hatayı alırsanız, bash'tan ne başlattığınızı hatırlamaya çalışın ve onu öldürün. Diğer cevaplar sizin için işe yaradıysa, muhtemelen bunlar sadece bashınız tarafından başlatılan veya bash'tan başlattığınız süreçler tarafından başlatılan şeylerdir ve bir şekilde orijinal bashınızın bir çocuğunu alıyorlardı.


3

Visual Studio Code kullanıyorsanız ve ssh-agent.exe'yi bulamıyorsanız ya da taskill edemiyorsanız ve Git Bash'ı açtıktan sonra bu hatayı alıyorsunuz, sadece VSCode açık Terminal> Yeni Terminal'e gidin ve çöp kutusu simgesine basın (Terminali Öldür). örneğin (1: bash) Eğer birden fazla varsa hepsini öldürün ve iyi olmalısınız.


3

Benim durumumda, Git bash'ı Windows'ta öldürmem gerekiyor. Komut İstemi açıldı ve komutun altında koştu

$ tasklist

Çalışan tüm görevleri listeler, ardından aşağıdaki komutu kullanarak bash.exe görevini öldürmeniz gerekir

$ taskkill /F /IM bash.exe 

2

Görev yöneticinizi açın, "sh" süreçlerinde arama yapın ve onları öldürün. İyi şanslar


2

Benim durumumda, çözüm Visual Studio Code'u kapatmak zorunda kaldım - konsolu fark etmeden çalışıyordum -

Kapattıktan sonra her şey normale döndü. Umarım bu birine yardımcı olur.


1

Görev yöneticisindeki tüm git terminallerimi öldürmeye çalıştım sorunu çözdü. Bu benim için de geçerli. iyi şanslar.


1

Windows için git'in daha yeni bir sürümünde, görev yöneticisinde öldürme işlemi "GitExtensions.exe" idi. Öldü ve terminaller sorunsuz bir şekilde yeniden başladı.


1

Lütfen ssh-agent işlemini Görev Yöneticisi penceresinde bulun. Ssh-agent işlemini durdurduktan veya öldürdükten sonra hata kaybolacaktır.


1

Benim durumumda görsel stüdyo kodunu çalıştırıp kapatmam sorunu çözdü.


1
Bunun neden reddedildiğinden emin değilim, benim için çalıştı. Ayrıca, görsel stüdyo kodu terminaller oluşturabilir, bu nedenle bu sorunu etkileyebileceği şaşırtıcı değildir.
Jesse Reza Khorasanee


0

görev yöneticisi msys2 terminali öldürme sorunu çözdü bulundu


0

Görev yöneticisini açın, bash.exe işlemini bulun ve öldürün. Benim durumumda yardımcı oldu.


0

Windows 10 bu benim için çalıştı:

1) cmd'yi yönetici olarak açın

2) türü:

taskkill /f /im git-bash.exe


3) Bir Hata varsa: "ssh-agent.exe" işlemi bulunamadı. sonra:

yazın:

tasklist

4) Her işlemi "bash" veya "git" gibi kelimelerle bulun ve öldürün (Bu tehlikeli bir çözüm olabilir, ancak işlem adını bulduktan sonra bir dahaki sefere bileceksiniz.)

taskkill /f /im ***.exe


0

Benim durumumda, hala görev yöneticisinde açık bir sokak abd.exe vardı. Öldürmek sorunu çözdü.


-1

Sistem bash türünde:

ps

Kötü görünen işlemleri öldürün:

kill -9 <ID>

Benim için çalıştı.


-1

Makinenizi Yeniden Başlatın, Makinemizi yeniden başlatırken bu sorun çözüldü.


4
"Bu işe yaramazsa, binanızın gücünü kesmeyi deneyin, sonra tekrar takın. Bu işe yaramazsa, yerel elektrik şirketini aramayı deneyin ve bir mahalle için gücü tüm mahalleye kesmelerini isteyin. birkaç dakika ... vb "
refaelio

1
lol ben de aynısını yaptım, çözüm oldukça aptalca geliyor, ama gayet iyi çalışıyor :)
zeroDivider
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.