मुझे Process.Kill()
का उपयोग करने में समस्या हो रही है। मुझे लगता है कि मुझे गलतफहमी होना चाहिए कि यह कैसे काम करता है। यह मेरा परीक्षण समारोह है। मैं एक लंबी चल रही प्रक्रिया शुरू करता हूं (ping -t
) और फिर इसे पांच सेकंड बाद मार दें।प्रक्रिया। किल() प्रक्रिया को मारने लगती नहीं है
मैं पिंग प्रक्रिया को दिखा सकता हूं, लेकिन मेरे प्रोग्राम खत्म होने के बाद भी प्रक्रिया अभी भी है। मुझे इसे मैन्युअल रूप से मारना है।
Console.WriteLine("Total number of ping processes is {0}", Process.GetProcessesByName("ping").Length);
ProcessStartInfo startInfo = new ProcessStartInfo("cmd.exe");
Process process = new Process();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
startInfo.Arguments = "/c ping -t 8.8.8.8";
Console.WriteLine("Staring ping process");
process.StartInfo = startInfo;
process.Start();
Thread.Sleep(5000);
Console.WriteLine("Total number of ping processes is {0}", Process.GetProcessesByName("ping").Length);
Thread.Sleep(5000);
Console.WriteLine("Killing ping process");
process.Kill();
Thread.Sleep(5000);
Console.WriteLine("Total number of ping processes is {0}", Process.GetProcessesByName("ping").Length);
मैं यहां क्या गलत कर रहा हूं?
अपना कोड परीक्षण किया और यह ठीक काम करता है। आप इस कोड को कहां से चला रहे हैं? – vesan
@vesan विंडोज 8.1। PowerShell और cmd.exe दोनों से इसे चलाएं। –
cmd के बिना सीधे Ping.exe निष्पादित करने के लिए कोई अंतर? –