Git bash त्रुटि: बच्चे की प्रक्रिया को कांटा नहीं कर सकता: कोई उपलब्ध टर्मिनल नहीं हैं (-1)


190

मेरे पास पहले से एक ही समय पर 8 गिट बैश टर्मिनल हैं।

वर्तमान में मेरे पास केवल 2 ही हैं।

मैंने यह त्रुटि पहले नहीं देखी है और मुझे समझ नहीं आ रहा है कि यह क्या कारण है।

किसी भी सहायता की सराहना की जाएगी!

चित्र संलग्न:

यहां छवि विवरण दर्ज करें


10
बैश प्रक्रिया को मारना मेरे लिए काम कर गया।
bfranzen

35
-1 सभी वर्तमान उत्तरों के लिए। "बस टर्मिनल को मार डालो और फिर से शुरू करो" के सभी बदलाव। अंतर्निहित समस्या क्या है? मेरे पास 100 टर्मिनल क्यों नहीं हो सकते?
RJFalconer

31
मेरे पास यह मुद्दा इतने लंबे समय से है और मैं कभी भी इसकी तह तक नहीं जा सका। ऐसा लगता है कि ऐसे अनुप्रयोग हैं जो खुले छोड़ दिए जाते हैं जिससे कुछ हैंडल खुले रह सकते हैं, लेकिन मेरे मामले में बैश प्रक्रियाएं बंद हो रही थीं और आसपास कोई एसएचएस प्रक्रिया नहीं हैं (मैं उपयोग कर रहा हूं mosh)। मैं बस vscode का उपयोग करके vscode .और फिर इसे खोलने के लिए उपयोग किए जाने वाले टर्मिनल को बंद करके समस्या को दोहराने में सक्षम हूं । जबकि vscode विंडो खुली रहती है ऐसा लगता है कि Cygwin अधिक टर्मिनलों को खोलना नहीं चाहता है, जैसे ही मैं इसे बंद करता हूं, यह काम करता है।
एल्वेन स्पेलमेकर

25
@ElvenSpellmaker तुम सही हो, यह code .मेरे मामले में भी करना है।
बिलाल खौकी

15
बस पुष्टि के लिए: आज समस्या का सामना करना पड़ा code ., मेरे मामले में भी था । वीएस कोड बंद करने से समस्या साफ हो गई। शानदार खोज @ElvenSpellmaker
kb।

जवाबों:


83

Google समूहों में एक समान समस्या और समाधान मिला

मैंने एक विंडो कमांड प्रॉम्प्ट खोला और कमांड को रन किया

$ tasklist

ऐसा लग रहा है कि मैंने अपने git bash के गोले में जो ssh कनेक्शन बनाए थे, वे बंद नहीं किए जा रहे थे जब उन विंडो को बंद किया गया था और उपलब्ध git bash शेल विंडो को लटका रहे थे।

यह एक खतरनाक समाधान हो सकता है लेकिन विंडोज़ कमांड प्रॉम्प्ट से मैं भाग गया

$ taskkill /F /IM ssh.exe 

सब कुछ इसके बाद फिर से काम करता दिखाई देता है। यह सीधे तौर पर अनाथ प्रक्रियाओं का मुद्दा नहीं हो सकता है, लेकिन इसने मेरे लिए कम से कम काम किया।

अतिरिक्त नोट: आप अन्य प्रक्रियाओं को भी मार सकते हैं, उदाहरण के लिए:

$ taskkill /F /IM vim.exe

6
इस प्रक्रिया ने काम किया, हालांकि मेरे मामले में अपराधी node.exe(Node.js) और link.exe(GNU लिंक) थे। इसलिए आपको दोषी प्रक्रियाओं के लिए टास्कलिस्ट के माध्यम से शिकार करना पड़ सकता है। मुझे यकीन नहीं है कि क्यों, लेकिन ऐसा लगता है कि बैश सत्रों के अंदर से शुरू किए गए कार्यक्रम किसी भी तरह अपने माता-पिता को जीवित कर सकते हैं।
ममाकोडन

1
शुक्रिया, यह प्रक्रिया @mamacdon द्वारा बताई गई प्रक्रिया के अनुसार काम करती है, यहां तक ​​कि मेरे मामले में अपराधी भी थे।
S52

21
मेरे लिए, मुझे "टास्ककिल / एफ / आईएम ssh-agent.exe" करना था, लेकिन एक वोट के लिए पर्याप्त था।
डायलन कप

12
मुझे कमांड के साथ नोड.exe को मारना थाtaskkill /F /IM node.exe
टेरेटर

1
मेरे मामले में (Cygwin के साथ) यह एक एकल adb.exe था जो अभी भी चल रहा था। इसे मारकर हल किया।
डिएगो एंड्रेड

58

जब मैं बाहर निकलने का उपयोग किए बिना अपने गिट बैश कंसोल को मारता हूं तो मुझे गिट बैश में खिड़कियों पर समस्या दिखाई देती है। मैंने समस्या को ठीक करने के लिए विंडोज़ टास्क मैनेजर से ssh-agent.exe कार्य को मार डाला।


4
इसने शुरुआत में काम किया। अब मैं इसे अभी भी प्राप्त कर रहा हूं, ssh-agent.exe को मारने के बाद भी।
सिंह

1
यह एक अल्पकालिक समाधान है। समस्या अंत में लौटती है। उम्मीद है कि इस मुद्दे को ठीक करने का एक और स्थायी तरीका है
सोनिक सोल

1
मैंने यह भी पाया कि नोड को कभी-कभी छोड़ दिया जाता है और साथ ही बस मारना मेरे लिए समस्या को हल करने के लिए लगता है।
म्यूजिकडेव

"sh.exe" प्रक्रिया को मारने के बाद, समस्या हल हो गई। सबको शुक्रीया।
मैरिस

"Winpty-agent.exe" को मारना मेरे लिए काम कर गया।
डेमस्टेयर

47

मेरे मामले में, यह वीएस कोड के उपयोग से संबंधित था। पहले मैंने git bash टर्मिनल और एक्जीक्यूटिंग का उपयोग करके VS कोड खोला है

code .

तब टर्मिनल को बंद करना।

सभी वीएस कोड विंडो को बंद करके समस्या का समाधान किया जाता है।

जब आपके पास कोई संपादक या IDE git bash के रूप में टर्मिनल खोलने के लिए कॉन्फ़िगर होता है, तो जब IDE / IDE चल रहा होता है, तो git bash "C: \ Windows \ System32 \ bash.exe" और किसी भी अन्य प्रयास से बैश स्पिन करेगा एक अलग विंडो से ओपन बैश क्रैश होने की संभावना है।

सबसे अच्छा उपाय आईडीई / संपादक बैश को मारना है और एक नई विंडो से खुला है या आईडीई / संपादक कमांड से जारी है।


4
धन्यवाद, मेरे साथ भी यही समस्या थी
तरुण नागपाल

1
एक जादू की तरह काम किया! धन्यवाद!
jrend

1
एक ही समस्या थी। बस कोड को cmd में खोलना चाहिए।
रिचर्ड

बिल्कुल वही समस्या। धन्यवाद।
लुसिएन लू

बिल्कुल वही मुद्दा। वैसे भी शुक्रिया।
अमर गहरा

33

मैं इसे एक समाधान के साथ संबोधित करता हूं:

  1. Git Bash विंडो बंद करें।
  2. टास्क मैनेजर खोलें।
  3. 'Git for Windows' प्रक्रिया खोजें।
  4. इसे मार।
  5. गेट बैश खोलें।

यह अब ठीक होना चाहिए।


3
सबसे आसान उपाय। इतना सीधा।
JAAlombro

2
मेरे मामले में, मेरे पास bash.exe चल रहा था, और बस इसे मार डालो।
गिल्बर्टो अल्बिनो

8

जीवन को आसान बनाने के लिए (यह समस्या अक्सर होती है) fixbash.batहोम डायरेक्टरी में एक फाइल बनाएं और इसे पेस्ट करें:

taskkill /F /IM ssh-agent.exe

जब समस्या बस खुली होती है cmdऔर fixbash.batकिसी समस्या को ठीक करने के लिए टाइप करती है।

या

cmdअगर आप स्क्रिप्ट नहीं बनाना चाहते हैं तो बस टास्ककिल कमांड को अपने अंदर पेस्ट करें ।


2
रिटर्न:ERROR: The process "ssh-agent.exe" not found.
जेसी रजा

इस समाधान ने मेरे लिए काम किया। हालाँकि आपको कार्य प्रबंधक के पास जाना है और सभी ssh-agent.exe को मारना है क्योंकि कई हो सकते हैं
जावा मेन

6

अपनी मशीन को पुनरारंभ करें।

(अन्य उत्तर मेरे काम नहीं आए। (मैंने पुनः स्थापित करने का प्रयास नहीं किया। पुनः आरंभ करना संभवत: तेज है।)


3
और अगर वह काम नहीं करता है, तो अपनी मशीन को फिर से स्थापित करें, या एक नया खरीदें।
जॉन 16384

6

मेरे लिए (या कोई भी चलने वाला प्रोटेक्टर, जो स्टैंडअलोन सेलेनियम / वेबड्राइवर सर्वर को स्पिन कर सकता है), मुझे taskkillउन विशिष्ट वेबड्राइवर की आवश्यकता थी जो मेरे परीक्षण चला रहे थे।

तो बस एक अलग तर्क: या आपका क्रोमेड्राइवर संस्करण भिन्न हो सकता है

taskkill /f /im chromedriver_2.34.exe

ध्यान दें कि आपका ड्राइवर भिन्न हो सकता है: IEDriverServer*.*.*.exeबनामchromedriver_*.**exe

आपका ड्राइवर संस्करण भिन्न हो सकता है: chromedriver_2.34.exeबनामchromedriver_2.33.exe

स्वचालित / परीक्षण-चालित ब्राउज़र को बंद किए बिना प्रोट्रैक्टर के छोड़ने के बाद यह समस्या और भी बदतर हो गई , (एक अलग मुद्दे के कारण जो मुझे अभी तक समझ में नहीं आया है।) स्वाभाविक रूप से कई chromedriverकार्य चल रहे हैं, इसीलिए उन्हें मारना है।


3
हां, यह मेरी समस्या थी। मेरे पास सुविधा स्क्रिप्ट है जो कुछ वेब साइटों से कुछ सामान लाने के लिए सेलेनियम का उपयोग करता है जहां जावास्क्रिप्ट को संसाधित करने के लिए कर्ल और विग का उपयोग नहीं किया जा सकता है। वैसे भी, मैं आमतौर पर सुबह में एक बार इसे चलाता हूं और कभी-कभी इसे लटका दिया जाता है। जब तक मैंने इस पोस्ट को नहीं देखा, तब तक मैंने इस cygwin त्रुटि के साथ संबंध नहीं बनाया, इसलिए THANKS! मैं स्क्रिप्ट को अपडेट करने जा रहा हूं जो बाहर निकलने से पहले क्रोमेड्रिएवर। Exe प्रक्रिया को मारने के लिए सेलेनियम को बुलाता है।
बीडूपेट

6

टास्क मैनेजर खोलें और नाम बैश के साथ मार डालो, यह मेरे लिए काम किया।


6

यह तब होता है जब आप मौजूदा प्रक्रिया को समाप्त किए बिना गिट बैश से बाहर निकलते हैं। बस उन प्रक्रियाओं को आज़माएँ और मारें जो आपने जीआईटी बैश से शुरू की थीं। मैं git bash के अंदर नोड प्रोसेस चला रहा था, इसलिए मैंने सभी नोड प्रोसेस को मारने के लिए स्टेप्स को मार दिया

  1. टास्क मैनेजर खोलें
  2. गोटो विवरण टैब
  3. नोड.exe देखें (आप प्रक्रियाओं के लिए देखें)
  4. इसे प्रत्येक नोड प्रक्रिया को मार डालो
  5. गेट बैश फिर से खोलें

2
मेरे मामले में यह था adb shell। इसलिए मैं adb kill-serverपहले से खुली खिड़की में भाग गया और यह तय किया कि मेरे लिए। +1
ल्यूसिडब्रॉट

काम किया। लेकिन क्या ... मैं महीनों में किसी भी नोड। जेएस किया havent .... क्यों चल रहा था?
जेएमआई मैडिसन

5

अंत में पता लगा कि यह क्या कारण था।

अगर हम कोड का उपयोग इस तरह से (स्पष्ट या निहित रूप से) .bashrcफ़ाइल में करते हैं

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

यह एक नई प्रक्रिया पैदा करता है।

यदि आप इससे बाहर नहीं निकलते हैं और बस विंडो बंद कर देते हैं, तो यह प्रक्रिया अभी भी चल रही है। इसलिए खोले गए प्रत्येक नए बैश में पुराने वाले डिस्पोज करने वाले नए / डब्ल्यू को जोड़ते रहते हैं।

जब एक बैश विंडो के साथ किया जाता है, तो एजेंट प्रक्रिया को मारने के लिए बस हिट ctrl+dया टाइप exitकरें, और आपको कांटे से बाहर नहीं चलना चाहिए।


3

वास्तव में git bash से शुरू की गई प्रक्रियाओं के साथ एक मुद्दा लगता है, जैसे @macacon ने @Scott Newson के शीर्ष उत्तर पर अपनी टिप्पणी में सुझाव दिया था।

मेरे लिए, समस्या तब प्रकट हुई जब मैंने बैश से एक vscode लॉन्च किया code, और अगर vscode के इस उदाहरण ने एक एकीकृत गिट टर्मिनल लॉन्च किया, जबकि मूल बैश अभी भी चल रहा था।

इससे कोई फर्क नहीं पड़ता कि उस टर्मिनल को शुरू में या बाद में लॉन्च किया गया था, जब तक कि मूल बैश अभी भी चल रहा था।

एकीकृत टर्मिनल खोलने से पहले बैश बंद होने पर ऐसा नहीं हुआ। exitखिड़कियों के माध्यम से बैश के बीच और अंतर को अलग नहीं किया । एक और पुरानी बैश खिड़की के साथ अभी भी नहीं चल रहा है।

इससे निपटने का तरीका मेरे लिए बनाम exit'किल टर्मिनल' के साथ vscode में टर्मिनलों को बंद करने के लिए था (सावधान रहें कि 'क्लोज़ पेन' के साथ इसे न मिलाएं), या निश्चित रूप से, vscode को ही बंद कर दें।

यदि आपको यह त्रुटि मिलती है तो यह याद रखने की कोशिश करें कि आपने बैश से क्या लॉन्च किया और इसे मार दिया। यदि अन्य उत्तर आपके लिए काम करते हैं, तो संभवतः यह सिर्फ यह है कि ये आपके बैश द्वारा लॉन्च किए गए या बैश से लॉन्च की गई प्रक्रियाओं द्वारा लॉन्च किए गए हैं और वे किसी तरह आपके मूल बैश के बच्चे को प्राप्त कर रहे हैं।


3

यदि आप विजुअल स्टूडियो कोड का उपयोग कर रहे हैं और आप ssh-agent.exe नहीं पा सकते हैं या इसे टास्ककिल नहीं कर सकते हैं और गेट बैश खोलने के बाद आपको वह त्रुटि मिलती है, तो बस अपने VSCode ओपन टर्मिनल> न्यू टर्मिनल पर जाएं और बस ट्रैशबिन आइकन दबाएं (किल टर्मिनल)। उदाहरण के लिए (1: bash) यदि आपको कई मिले तो बस उन सभी को मार दें और आपको अच्छा होना चाहिए।


3

मेरे मामले में मुझे विंडोज में गिट बैश को मारने की जरूरत है। इसलिए कमांड प्रॉम्प्ट खोला और कमांड के नीचे भाग गया

$ tasklist

यह नीचे चल रहे सभी कार्यों को सूचीबद्ध करेगा, फिर नीचे कमांड का उपयोग करके bash.exe कार्य को मारने की आवश्यकता है

$ taskkill /F /IM bash.exe 


2

Im मेरा मामला, समाधान Visual Studio कोड को बंद करने के लिए था-जहाँ मैं सांत्वना के बिना चल रहा था-

इसे बंद करने के बाद सभी वापस सामान्य हो जाते हैं। आशा है कि यह किसी की मदद करता है।


1

मैंने कार्य प्रबंधक में अपने सभी गिट टर्मिनलों को मारने की कोशिश की समस्या को हल करता है। यह मेरे लिए भी काम करता है। सौभाग्य।


1

विंडोज़ के लिए गिट के अधिक हालिया संस्करण पर, टास्क मैनेजर में मारने की प्रक्रिया "GitExtensions.exe" थी। कि और टर्मिनलों को कोई समस्या नहीं के साथ फिर से शुरू किया।


1

कृपया टास्क मैनेजर विंडो में ssh-agent प्रक्रिया खोजें। आपके द्वारा ssh- एजेंट प्रक्रिया को रोकने या मारने के बाद त्रुटि गायब हो जाएगी।


1

मेरे मामले में मेरे पास दृश्य स्टूडियो कोड चल रहा था और इसे बंद करने से समस्या हल हो गई।


1
यकीन नहीं हो रहा है कि यह कम हो रहा है, मेरे लिए काम किया है। इसके अलावा, दृश्य स्टूडियो कोड में टर्मिनल उत्पन्न हो सकते हैं, इसलिए यह आश्चर्यजनक नहीं है कि यह इस मुद्दे को प्रभावित कर सकता है।
जेसी रेज़ा


0

मैंने पाया कि टास्क मैनेजर में msys2 टर्मिनल को मारने से समस्या हल हो जाती है


0

टास्क मैनेजर खोलें, bash.exe प्रक्रिया ढूंढें और इसे मार दें। मेरे मामले में मदद की।


0

विंडोज 10 यह मेरे लिए काम किया:

1) प्रशासक के रूप में खुला cmd

2) प्रकार:

taskkill /f /im git-bash.exe


3) यदि कोई त्रुटि थी: प्रक्रिया "ssh-agent.exe" नहीं मिली। फिर:

प्रकार:

tasklist

4) "बैश" या "गिट" जैसे शब्दों के साथ हर प्रक्रिया को ढूंढें और मारें (यह एक खतरनाक समाधान हो सकता है, लेकिन एक बार जब आप प्रक्रिया का नाम ढूंढ लेंगे, तो अगली बार आपको पता चल जाएगा।)

taskkill /f /im ***.exe


0

मेरे मामले में, मेरे पास एक आवारा पेट था। जो अभी भी कार्य प्रबंधक में खुला था। इसे मारकर मुद्दे को तय किया।


-1

सिस्टम बैश प्रकार में:

ps

किसी भी बुरी दिखने वाली प्रक्रिया को मारें:

kill -9 <ID>

मेरे लिए काम किया।


-1

अपनी मशीन को फिर से शुरू करें, जबकि हमारी मशीन को फिर से शुरू करने से यह समस्या हल हो जाती है।


4
"अगर वह काम नहीं करता है, तो अपने भवन में बिजली काटने की कोशिश करें, फिर उसे प्लग करें। यदि वह काम नहीं करता है, तो स्थानीय बिजली कंपनी को कॉल करने का प्रयास करें और उनसे पूरे पड़ोस में बिजली काटने के लिए कहें। कुछ क्षण ... इत्यादि "
refaelio

1
योग्य मैंने वही किया, समाधान बहुत मूर्खतापूर्ण लगता है, लेकिन यह ठीक काम करता है :)
जीरो डिवाइडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.