2011-05-31 19 views
16

मेरे पास एक छोटा सी # इंस्टॉलर एप्लिकेशन है और मैं एक प्रक्रिया को मारना चाहता हूं। वहाँप्रक्रिया। किल() बनाम प्रक्रिया। स्टार्ट ("टास्ककिल", ...)

Process[] procs = Process.GetProcessesByName("[taskname]"); 
foreach (Process p in procs) { p.Kill(); } 

का उपयोग कर बनाम

Process.Start("taskkill", "/F /IM [taskname].exe"); 

मैंने कहीं पढ़ा है कि "taskkill" प्रयोग करने में कोई लाभ/मतभेद हैं XP (और ऊपर) में ही उपलब्ध है, ताकि Process.Kill() सुरक्षित विकल्प होगा?

उत्तर

6

Process.Kill पसंद किया गया है, क्योंकि आप प्रक्रिया को मारने के लिए taskkill शुरू करते समय एक और प्रक्रिया शुरू नहीं कर रहे हैं। यह सिर्फ बेकार ओवरहेड है।

+11

उदाहरण के लिए explorer.exe को मारने का प्रयास करते समय टास्किल प्रक्रियाओं को मारने पर अधिक भरोसेमंद प्रतीत होता है। – Bitterblue

17

p.kill() प्रक्रिया पेड़ को नहीं मारता है।

तो यदि आप पूरी प्रक्रिया पेड़ को मारना चाहते हैं तो टास्किल की आवश्यकता है।

संबंधित मुद्दे