वास्तव में विंडोज में एक प्रक्रिया को मारना


375

कभी-कभी विंडोज मशीन पर एक कार्यक्रम पागल हो जाता है और बस लटक जाता है। इसलिए मैं कार्य प्रबंधक को कॉल करूंगा और इसके लिए "एंड प्रोसेस" बटन को हिट करूंगा। हालाँकि, यह हमेशा काम नहीं करता है; अगर मैं इसे पर्याप्त समय की कोशिश करता हूं तो यह आमतौर पर अंततः मर जाएगा, लेकिन मैं वास्तव में इसे तुरंत मारने में सक्षम होना चाहता हूं। लिनक्स पर मैं सिर्फ kill -9यह गारंटी दे सकता हूं कि एक प्रक्रिया मर जाएगी।

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

क्या कुछ प्रोग्राम या कमांड है जो विंडोज के साथ आता है जो हमेशा एक प्रक्रिया को मार देगा? एक निशुल्क थर्ड-पार्टी ऐप ठीक होगा, हालांकि मैं उन मशीनों पर ऐसा करने में सक्षम होना चाहूंगा, जो मैं पहली बार बैठ रहा हूं।


19
प्रोग्रामिंग में आवारा प्रक्रिया एक आम समस्या है जिसे मुझे असहमत होना पड़ता है; यह एक ऑफ-टॉपिक प्रश्न नहीं है।
दान मोल्डिंग

19
मैं एक डेवलपर के रूप में हर दिन प्रक्रिया प्रबंधन से निपटता हूं। यह पूरी तरह से मेरे लिए विषय है!
जॉन फिट्जपैट्रिक

14
मैं इस प्रश्न को हटाने के खिलाफ दृढ़ता से सलाह देता हूं। +195 और यह सवाल शामिल करने के लिए एक बहुत जल्दी गूगल हिट है।
जोशुआ

2
"जब तक वे सीधे प्रोग्रामिंग के लिए मुख्य रूप से उपयोग किए जाने वाले उपकरण शामिल नहीं करते हैं" मैं इस मुद्दे में विजुअल स्टूडियो के संबंध में एक प्रक्रिया चला रहा था, जिसने मुझे इसे मारने में असमर्थ बना दिया। विज़ुअल स्टूडियो को बंद करने से समस्याग्रस्त प्रक्रिया को मारने में मदद मिली।
जोकिम

जवाबों:


318

प्रोसेस-टैब कॉल पर "अंतिम प्रक्रिया" TerminateProcessजो कि एक प्रक्रिया को मारने के लिए विंडोज सबसे अंतिम तरीका है।

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

इस ब्लॉग-प्रविष्टि पर नज़र डालें जब वेबैक से: http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx

लिनक्स जैसी यूनिक्स आधारित प्रणालियों में भी वह समस्या होती है जहां प्रक्रियाएं बच सकती हैं kill -9यदि वे "अपरिवर्तनीय नींद" (राज्य के रूप में शीर्ष और पीएस द्वारा दिखाए गए D) के रूप में जानी जाती हैं जिस समय प्रक्रियाएं इतनी अच्छी तरह से सोती हैं कि वे आने वाले संकेतों को संसाधित नहीं कर सकते हैं (जो है वह killकरता है - संकेत भेजना)।

आम तौर पर, निर्बाध नींद लंबे समय तक नहीं होनी चाहिए, लेकिन विंडोज के तहत, टूटे हुए ड्राइवर या टूटे हुए उपयोगकर्ता कार्यक्रम ( vforkबिना exec) Dहमेशा के लिए सो सकते हैं ।


29
जबकि मैं नफरत करता हूं कि यह सही उत्तर है, मेरे मन में कोई संदेह नहीं है कि यह नीचे दिए गए टास्ककिल की तुलना में अधिक सही है .... बेवकूफ छोटी गाड़ी चालक!
कोडेटाकु

6
रिबूट की तुलना में धीरे-धीरे कम कष्टप्रद है लॉग ऑन / फिर से। अभी भी काम खो देते हैं, लेकिन शायद इतना समय नहीं।
awidgery

8
यह किसी अन्य प्रक्रिया के कारण होता है जिससे यह सुनिश्चित होता है कि प्रारंभिक प्रक्रिया हमेशा चलती रहती है। आपने अपने पुराने उदाहरण को मार दिया है और एक नए
पहरेदार

8
यह उत्तर बिल्कुल सही नहीं है। "एंड प्रोसेस" प्रक्रियाओं को मारने का सबसे अंतिम तरीका नहीं है, क्योंकि यह सेवा प्रक्रियाओं (उदाहरण के लिए) को नहीं मार सकता है। taskkill /fसबसे परम है।
user626528

5
टास्ककिल / एफ केवल TerminateProcessएपीआई को कॉल करता है। यह बिल्कुल टास्क मैनेजर के रूप में एक ही काम करता है (हालांकि, आप उस पर सही हैं, उन्नत विशेषाधिकार के साथ)।
पिलिफ़

233
taskkill /im myprocess.exe /f

"/ F" "बल" के लिए है। यदि आप पीआईडी ​​को जानते हैं, तो आप यह निर्दिष्ट कर सकते हैं:

taskkill /pid 1234 /f

अन्य विकल्पों के बहुत सारे संभव हैं, बस टास्ककिल / टाइप करें? उन सभी के लिए। "/ T" विकल्प एक प्रक्रिया और किसी भी बच्चे की प्रक्रिया को मारता है; यह आपके लिए उपयोगी हो सकता है।


10
सिर्फ एक नोट। यह विशेष रूप से उपयोगी है यदि आप सर्वर प्रबंधन के लिए स्क्रिप्ट लिख रहे हैं। Kill.exe (NT Res किट से) एक प्रोग्राम को बाहर निकलने का कारण बनेगा, लेकिन अगर आपके पास क्रैश हैंडलर स्थापित है (विशेष रूप से विंडबग), तो यह समस्या पैदा कर सकता है क्योंकि ओएस दुर्घटनाग्रस्त हो गई प्रक्रिया को दुर्घटनाग्रस्त होने के रूप में देखेगा, और डीबग करने का प्रयास करेगा। यह। इस मुद्दे पर टास्किल का परिणाम नहीं होगा।
एरोन

6
@lzprgmr - taskkill और "end task" दोनों शायद एक ही अंतर्निहित विंडोज़ फ़ंक्शन को कॉल करते हैं "टर्मिनेटप्रोसेस" msdn.microsoft.com/en-us/library/windows/desktop/…
जोसेफिसट्यूट

60
थिस कोई और अधिक प्रभावी तो कार्य प्रबंधक से "अंतिम प्रक्रिया" है।
एडी

2
मैं रीबूट करने के लिए बिना SugarSync.exe को जबरदस्ती मारने की कोशिश कर रहा हूं (क्योंकि इससे पहले कि यह वास्तव में फिर से काम करता है इससे पहले कि यह फिर से काम करता है, शुगरसंकट को फिर से शुरू करें), लेकिन टास्ककिल / टी / एफ / आईएम सुगरसिन.नेट काम नहीं करता है - भले ही यह दावा करता है "सफलता"
जॉन Coombs

2
धन्यवाद! taskkill /pid 1234 /fकाम करता है जब एंड टास्क काम करने से मना कर देता है! वाह!
हेंडी इरावन

37

प्रोसेस हैकर में एक प्रक्रिया को मारने के कई तरीके हैं।

(प्रक्रिया पर राइट-क्लिक करें, फिर विविध-> टर्मिनेटर पर जाएं।)


5
के रूप में इस खोज के रूप में बहुत कुछ नहीं मिल सकता है, यह सिर्फ मुफ्त डाउनलोड लाखों की पैदावार !!! लिंक। लेकिन यह जो कहता है वह करता है, वायरस जोखिम और सभी।
bwerks

2
@ नाज़ोलिलो: ज़रूर! प्रक्रिया पर राइट-क्लिक करें, विविध-> टर्मिनेटर पर जाएं।
user541686

6
सभी प्रक्रियाओं पर काम नहीं करता है, मेरे पास एक था जो सभी विकल्पों से बच गया।
Zitrax

7
यह मेरे कंप्यूटर को धुंधला कर देता है। रिबूट के बाद प्रक्रिया चली गई। अच्छी नौकरी ... -.- '
पेड्रो ओलिवेरा

5
दुर्भाग्यवश टर्मिनेटर को v2.39 :(
रेम्माइ 97

23

जोसेप्सटन सही है। Cmd.exe खोलें और चलाएँ

taskkill /im processname.exe /f

यदि कोई त्रुटि कह रहा है,

त्रुटि: PID 1234 के साथ प्रक्रिया "process.exe" समाप्त नहीं की जा सकी। कारण: प्रवेश निषेध है।

तब cmd.exe को व्यवस्थापक के रूप में चलाने का प्रयास करें।


9
व्यवस्थापक के रूप में चल रहा है, त्रुटि बदल जाती है। अब यह कहता है: ERROR: The process with PID 17888 (child process of PID 17880) could not be terminated. Reason: There is no instance of the task.और यह माता-पिता पीआईडी ​​17880 का जिक्र कर रहा है। जैसा कि यह माता-पिता को नहीं मिल सकता है, यह अनाथ बच्चे को नहीं मारेगा। :(
जेसी चिशोल्म

1
"आप अगर किसी भी सफलतापूर्वक अपने प्रक्रिया को मारने के लिए पैदा की भी बच्चे प्रक्रिया मारना चाहिए" इस कोशिश stackoverflow.com/questions/12528963/...
ध्रुव चंडोक

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

"प्रवेश निषेध है" का अर्थ है कि प्रक्रिया पहले से ही बंद होने की प्रक्रिया में है। उदाहरण के लिए यदि आपने पहले इसे बंद करने का प्रयास किया था। इसके बंद होने तक आपको इंतजार करना होगा।
पचेरियर

टास्ककिल परिणाम व्यवस्थापक अधिकारों के तहत: प्रवेश निषेध है।
अमूलर

22

Sysinternals (अब Microsoft) से प्रक्रिया एक्सप्लोरर प्राप्त करें

प्रोसेस एक्सप्लोरर - विंडोज सिसिन्टर्नल्स | Microsoft डॉक्स


15
यह अधिक जानकारी प्रदान करता है (और लॉक हैंडल की खोज करने के लिए कुछ सीमित क्षमता) लेकिन मुझे इसके साथ टास्क प्रबंधक की तुलना में कार्यों को मारने में कोई अधिक सफलता नहीं मिली है। कुछ प्रक्रियाएं (जैसे एंटी-वायरस और सुगरसिन.नेट) बस मरने से मना कर देती हैं।
जॉन कूम्ब्स

15

एक चाल जो अच्छी तरह से काम करती है वह डीबगर संलग्न करना है और फिर डीबगर को छोड़ देना है।

XP या Windows 2003 पर आप ntsd का उपयोग कर ऐसा कर सकते हैं जो बॉक्स से बाहर निकलता है:

ntsd -pn myapp.exe

ntsd एक नई विंडो खोलेगा। डिबगर को छोड़ने और प्रक्रिया से बाहर निकालने के लिए बस विंडो में 'q' टाइप करें।

मुझे पता है कि यह तब भी काम करना है जब कार्य प्रबंधक एक प्रक्रिया को मारने में सक्षम नहीं लगता है।

दुर्भाग्य से ntsd विस्टा से हटा दिया गया था और आपको एक उपयुक्त डिबगर प्राप्त करने के लिए विंडोज़ के लिए डीबगिंग उपकरण (मुफ्त) स्थापित करना होगा ।


1
इस के लिए बहुत बहुत धन्यवाद। Autoquit में "-c q" (w / o quotes) जोड़ें, जो इसे आदर्श प्रक्रिया हत्यारा बनाता है।
जोनिस

2
जब विजुअल स्टूडियो और एक एप्लिकेशन को दोनों हैंग हो जाता है, तो वीएस के पुराने उदाहरण को संलग्न करें और मार डालें। हत्यारा वीएस का एक नया उदाहरण हो सकता है, जो तब पुरानी परियोजना को खोल सकता है और आपको काम जारी रखने की अनुमति दे सकता है।
ब्रूनो मार्टिनेज

मैं यह नहीं जान सकता कि कैसे उस लिंक से कुछ भी डाउनलोड किया जाए winsdk_web.exe, जो कुछ भी नहीं करता है।
एंडोलिथ

अब आप इसे इंस्टॉलर को चलाकर विंडोज 10 एसडीके में प्राप्त कर सकते हैं और फिर सब कुछ अनचेक कर सकते हैं लेकिन "विंडोज के लिए डिबगिंग टूल" ( डॉक्स.माइकोसिनेमा.कॉम / साइन इन करें / विंडोज- डिवाइडर / डिवाइडर / डिबगर / ... )
कोबर्न

6

सिस्टम के रूप में कार्य प्रबंधक या प्रक्रिया एक्सप्लोरर को चलाने के लिए एक एटी कमांड सेट करें।

AT 12:34 /interactive "C:/procexp.exe"

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


4
इसे आज़माते समय मुझे निम्नलिखित चेतावनी मिलती है, इसलिए यह अब काम नहीं करता है: "चेतावनी: सुरक्षा वृद्धि के कारण, यह कार्य अपेक्षित समय पर चलेगा, लेकिन अंतःक्रियात्मक रूप से नहीं। यदि कार्य की आवश्यकता हो तो schtasks.exe सुविधा का उपयोग करें ('schtasks) /?' ब्योरा हेतु)।"
व्हाइटकनाइट

0

जब ntsd पहुंच से इनकार किया जाता है, तो प्रयास करें:

ZeroWave को एक सरल उपकरण के रूप में डिज़ाइन किया गया था जो किसी भी प्रकार की प्रक्रिया का बहुस्तरीय समापन प्रदान करेगा।

जीरोवेव अपने सरल इंस्टॉलेशन और अपने बहुत ही अनुकूल ग्राफिकल इंटरफ़ेस के कारण एक आसान उपयोग कार्यक्रम है।

ZeroWave में तीन समाप्ति मोड हैं और "INSANE" मोड के साथ विंडोज पर चलने वाली किसी भी तरह की प्रक्रिया को समाप्त कर सकते हैं।

ऐसा लगता है कि ZeroWave avp.exe को नहीं मार सकता है


0

FYI करें आप कभी-कभी कार्यों को मारने के लिए सिस्टम या ट्रस्टेडइंस्टालर का उपयोग कर सकते हैं;)

google quickkill_3_0.bat

sc config TrustedInstaller binPath= "cmd /c TASKKILL /F  /IM notepad.exe
sc start "TrustedInstaller"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.