为什么这段代码没有杀死进程?

时间:2010-06-23 11:02:52

标签: c# c#-4.0

Process.Start(jrekeypath);

Thread.Sleep(5);

foreach (Process clsProcess in Process.GetProcesses())
{
    if (clsProcess.ProcessName.StartsWith("javaw"))
    {
        clsProcess.Kill();
    }
}

它不会杀死这个过程。这个片段有什么问题吗?

2 个答案:

答案 0 :(得分:10)

同上面的5ms答案,但您也可以尝试保持流程处理并重新使用它,例如。

var javawProcess = Process.Start(jrekeypath);
Thread.Sleep(5000);
javawProcess.Kill();

答案 1 :(得分:5)

5毫秒不是很长的时间。可能是因为当你的代码找到它时,这个过程实际上还没有开始,但后来不久就开始了吗?