111,128
社区成员
发帖
与我相关
我的任务
分享
//如果是winrar执行,则需要做额外的等待
string processName = "WinRAR";
Process[] process = Process.GetProcessesByName(processName);
if (process.Count() > 0)
{
Thread.Sleep(1000);
foreach (var p in process)
{
TimeSpan span = p.UserProcessorTime;
while (true)
{
Thread.Sleep(1000);
TimeSpan newSpan = p.UserProcessorTime;
if ((newSpan - span).TotalMilliseconds < 100) //当winrar很少消耗cpu时,认为其已停止工作,杀死此进程
{
p.Kill();
break;
}
span = newSpan;
}
}
}