【发布时间】:2015-02-17 08:31:15
【问题描述】:
我有一个奇怪的问题。
我在一个项目上工作了很长时间,该项目可以打开和关闭(如果无法关闭,则终止)进程,该进程在我的本地计算机上运行良好,但在服务器上存在问题。
这段代码可以打开和杀死进程,但在关闭它们时总是超时。
以下几行做('不做)工作。
Parallel.ForEach(Process.GetProcessesByName(applicationName),
(Process obj) =>
{
AddLog("Waiting for " + obj.ProcessName + " to exit at " + DateTime.Now);
obj.CloseMainWindow();
obj.WaitForExit(60000);
});
System.Threading.Thread.Sleep(1000);
if (Process.GetProcessesByName(applicationName).Length != 0)
{
AddLog("Process couldn't exited. Trying to kill at " + DateTime.Now);
if ((killable).ToString() == "T")
{
Parallel.ForEach(Process.GetProcessesByName(applicationName),
(Process obj) =>
{
obj.Kill();
AddLog(obj.ProcessName + " was killed at " + DateTime.Now);
EventLogEntry(obj.ProcessName + " was killed!!!!!", EventLogEntryType.Error, 4003);
});
}
}
提前致谢。
【问题讨论】:
标签: c# multithreading process server