द्वारा कुछ प्रक्रियाओं को मारें मैं सी # .NET या C++ में अपने .exe फ़ाइल नामों को खोजकर कुछ सक्रिय प्रक्रियाओं को कैसे मार सकता हूं?.exe फ़ाइल नाम
उत्तर
त्वरित उत्तर:
foreach (var process in Process.GetProcessesByName("whatever"))
{
process.Kill();
}
(प्रक्रिया नाम से .exe को बंद रखना होगा)
वर्तमान में चल रही प्रक्रियाओं को प्राप्त करने के लिए आप Process.GetProcesses()
का उपयोग कर सकते हैं, फिर Process.Kill()
प्रक्रिया को मारने के लिए।
प्रक्रिया। GetProcessesByName इसे सरल बना देगा। – ConsultUtah
Thanx इतना .. –
उपरोक्त कोड रिटर्न अपवाद (32 बिट प्रक्रिया 64 बिट प्रक्रिया के मॉड्यूल तक नहीं पहुंच सकती है) क्या करना चाहिए? – Manish
मेरे समाधान है:
var chromeDriverProcesses = Process.GetProcesses().
Where(pr => pr.ProcessName == "chromedriver");
foreach (var process in chromeDriverProcesses)
{
process.Kill();
}
आप बराबर –
मजेदार संयोग के बजाय कंटेनर का उपयोग कर सकते हैं है, मैं क्रोमरेड्रिवर को मारने के समाधान के लिए इस थ्रेड में देख रहा था। एक आम मुद्दा होना चाहिए। – kerl
public void EndTask(string taskname)
{
string processName = taskname;
string fixstring = taskname.Replace(".exe", "");
if (taskname.Contains(".exe"))
{
foreach (Process process in Process.GetProcessesByName(fixstring))
{
process.Kill();
}
}
else if (!taskname.Contains(".exe"))
{
foreach (Process process in Process.GetProcessesByName(processName))
{
process.Kill();
}
}
}
//EndTask("notepad");
सारांश: कोई फर्क नहीं पड़ता नाम शामिल है .exe, प्रक्रिया समाप्त हो जाएगी। आपको "प्रक्रिया नाम से .exe छोड़ने" की आवश्यकता नहीं है, यह 100% काम करता है।
शीर्ष मतदान वाले उत्तर पर एक सरल 'रेप्लेस ("। Exe", "")' यह बहुत कम संकुचित और अनावश्यक कोड – AndrewK
के साथ ऐसा करेगा, इसका पूरा विचार है .exe के साथ या बिना विधि को देखना इसे संभालने के कई तरीके देख सकते हैं ... यह कॉपी और पेस्ट के लिए नहीं है .... – user7993881
यदि आपको आंशिक नाम से मारने की प्रक्रिया की आवश्यकता है तो http://stackoverflow.com/questions/14632162/c-sharp-killing-a-process-by-a-part-of-its-name?rq=1 देखें । –