2008-08-29 13 views
88

इसलिए हर बार जब मैं अपनी कंपनी की स्वामित्व वाली विकास मशीन चालू करता हूं तो मुझे अपने आईडीई से सभ्य प्रदर्शन प्राप्त करने के लिए टास्क मैनेजर या किसी अन्य प्रक्रिया प्रबंधन ऐप का उपयोग करके 10+ प्रक्रियाओं को मारना होगा। हां, ये उन कार्यक्रमों की प्रक्रियाएं हैं जिनसे मेरी कंपनी सुरक्षा और अनुपालन के लिए मेरी मशीन पर स्थापित होती है। मैं जो करना चाहता हूं उसके पास एक .bat फ़ाइल या स्क्रिप्ट है जो कि मैं सिर्फ प्रक्रियाओं को बंद कर सकता हूं और मार सकता हूं।प्रक्रियाओं को मारने के लिए Windows .bat फ़ाइल लिखने का कोई तरीका?

कोई भी पहले से ही यह जानता है कि यह कैसे करें?

+0

यह तब भी आसान होना चाहिए जब एक स्वचालन वातावरण में और एक भागने वाले उपप्रोसेस को समाप्त करने की आवश्यकता होती है यदि यह एक सभ्य समय में समाप्त या प्रतिक्रिया करने में विफल रहता है। –

+0

मैंने इस प्रश्न को मेरे सभी प्रत्यक्ष सहयोगियों के लिए पोस्ट किया क्योंकि हम 2000 एस/डब्ल्यू डेवलपर्स के साथ एक कंपनी में चौराहे 2000 इंजीनियरों (सीएडी कर रहे हैं) के साथ हैं। हम आईटी प्रशासन विभाग के साथ स्थायी रूप से संघर्ष कर रहे हैं क्योंकि (सुरक्षा नीति के कारण) हम अपने काम करने में लगभग असमर्थ हैं ... (यह तकनीकी रूप से मदद नहीं करता है लेकिन यह सुनकर अच्छा लगा कि अन्य एस/डब्ल्यू डेवलपर्स को ऐसी ही समस्याएं हैं ।) – Scheff

उत्तर

129

आप taskkill 'के साथ ऐसा कर सकते हैं मारने nix'y exe नाम "devenv.exe" पर -9 को

बराबर साथ पीआईडी ​​मार डालेगा।/आईएम पैरामीटर के साथ, आप छवि नाम निर्दिष्ट कर सकते हैं। उदाहरण:

taskkill/im somecorporateprocess.exe

तुम भी 'शक्ति' को मारने के लिए ऐसा कर सकते हैं:

taskkill/f/im somecorporateprocess.exe

बस उस प्रक्रिया को 1 पंक्ति जोड़ें जिसे आप मारना चाहते हैं, एक .bat फ़ाइल के रूप में सहेजें, और अपनी स्टार्टअप निर्देशिका में डाल दें। समस्या सुलझ गयी!

यदि यह एक विरासत प्रणाली है, PsKill वही करेगा।

+23

एलओएल - "somecorporateprocess.exe" देव टीमों से कॉर्पोरेट आईटी के डिस्कनेक्ट को काफी हद तक बताता है। – maplemale

+5

* सभी * प्रक्रियाओं को उनके नाम से बंद करने के लिए 'टास्ककिल/एफ/आईएम ​​/ T' का उपयोग करके मुझे सफलता मिली थी। – Benj

3

PSKill डाउनलोड करें। एक बैच फ़ाइल लिखें जो प्रत्येक प्रक्रिया के नाम पर गुज़रने वाली प्रत्येक प्रक्रिया के लिए इसे कॉल करे।

102
taskkill /f /im "devenv.exe" 

इस जबरन आदेश

+3

यह तब तक काम नहीं करता जब तक कि मैंने आदेश में/f ध्वज जोड़ा नहीं। धन्यवाद! –

+4

यह प्रदान किए गए नाम के साथ ** सभी ** प्रविष्टियों को मार देगा। विशेष रूप से आसान होता है जब कोई प्रोग्राम बैकफायर करता है और पृष्ठभूमि में नोटपैड.एक्सई 1000 बार खुलता है:] \ * अहम \ * –

1

पावरहेल का उपयोग करें! प्रक्रियाओं के प्रबंधन के लिए cmdlets में बनाया गया। Examples here (हार्ड तरीका), here (निर्मित) और here (अधिक)।

5

मैं डेवलपर के रूप में मान रहा हूं, आपके पास अपनी मशीन पर कुछ डिग्री प्रशासनिक नियंत्रण है। यदि ऐसा है, तो कमांड लाइन से, msconfig.exe चलाएं। आप कई प्रक्रियाओं को भी शुरू करने से हटा सकते हैं, जिससे उपर्युक्त समाधानों के साथ उन्हें मारने की आवश्यकता को खत्म कर दिया जा सकता है।

4

सोनी रुतकिट की खोज करने वाले Sysinternals लड़के मार्क रसेलिनोविच से Autoruns प्राप्त करें ... सर्वश्रेष्ठ सॉफ्टवेयर मैंने कभी भी चीजों को साफ करने के लिए उपयोग किया है जो स्वचालित रूप से प्रारंभ हो जाते हैं।

3

taskkill यहाँ कुछ खिड़कियों होम/बुनियादी संस्करणों कुछ विकल्प पर उपलब्ध नहीं हो सकता है के रूप में:

TSKILL processName 

या

TSKILL PID 

मन में है कि processName.exe प्रत्यय नहीं होना चाहिए और सीमित है 18 वर्णों के लिए।

एक अन्य विकल्प WMIC है:

wmic Path win32_process Where "Caption Like 'MyProcess.exe'" Call Terminate 

wmic प्रस्ताव भी अधिक लचीलापन taskkill .With wmic Path win32_process get से आपको उपलब्ध फ़ील्ड आप फ़िल्टर कर सकते हैं देख सकते हैं।

0

कृपया नीचे दिए गए तर्क को खोजें जहां यह स्थिति पर काम करता है।

यदि हम बस taskkill /im applicationname.exe पर कॉल करते हैं, तो यह केवल तभी होगा जब यह प्रक्रिया चल रही हो। यदि यह प्रक्रिया नहीं चल रही है, तो यह एक त्रुटि फेंक देगा।

इसलिए takskill से पहले जांचने के लिए, यह सुनिश्चित करने के लिए एक चेक किया जा सकता है कि taskkill निष्पादित किया जाएगा केवल प्रक्रिया चल रही है, ताकि यह त्रुटि फेंक न सके।

tasklist /fi "imagename eq applicationname.exe" |find ":" > nul 

if errorlevel 1 taskkill /f /im "applicationname.exe" 
+0

बस 'taskkill'to' nul' के त्रुटि संदेश को पुनर्निर्देशित करना आसान है – Stephan

0

यहाँ मैं एक उदाहरण के आदेश है कि आप अपने cmd कमांड लाइन शीघ्र में पेस्ट कर सकते हैं और chrome.exe के लिए लिखा है लिखा था। बस के लिए

FOR /F "tokens=2 delims= " %P IN ('tasklist /FO Table /M "chrome*" /NH') DO (TASKKILL /PID %P) 

The Must सब PID नीचे tasklist आदेश पर सूचीबद्ध रों लेता है और हर PID

tasklist /FO Table /M "chrome*" /NH 

पर TASKKILL /PID कार्यान्वित आप एक बैच फ़ाइल में के लिए उपयोग करते हैं सिर्फ %% के बजाय पी का उपयोग % पी