我的一个服务进程是使用Microsoft interop dll启动winword进程并创建一个文档。由于某些未知问题,该进程不会退出(很少发生),因此在此之后所有的winword进程实例化都会停滞。杀死运行超过两分钟的winword进程
我想正确的服务工具,它会检查的时间超过2分钟,运行任何WINWORD过程并杀死该进程。这样连续的create语句将照常运行。我会在Windows服务中这样做。 (C#)
我的一个服务进程是使用Microsoft interop dll启动winword进程并创建一个文档。由于某些未知问题,该进程不会退出(很少发生),因此在此之后所有的winword进程实例化都会停滞。杀死运行超过两分钟的winword进程
我想正确的服务工具,它会检查的时间超过2分钟,运行任何WINWORD过程并杀死该进程。这样连续的create语句将照常运行。我会在Windows服务中这样做。 (C#)
我同意提意见说杀人的话是不是最完美的解决方案,但是如果你出的替代品,那么这就是你如何杀死与已经运行超过2给定的名称进程分钟。
// I tested with notepad so you would switch this with the Microsoft Word exe name.
string processName = "notepad";
Process[] processes = Process.GetProcessesByName(processName);
foreach (Process process in processes)
{
TimeSpan runningTime = DateTime.Now - process.StartTime;
if (runningTime.TotalMinutes > 2)
process.Kill();
}
我试图用这种方法做,但winword只创建一个winword.exe实例,如果我杀了winword.exe它会停止如果有的话,目前的操作。有没有办法找到杀死一个文件 – Jay 2015-02-24 05:37:17
当您的客户实际上使用的是单词而不是您的应用程序时会发生什么?你认为他会喜欢每2分钟结束一次吗? – 2015-02-23 13:20:03
您应该确定未知问题是什么 – Sayse 2015-02-23 13:24:05
它实例化新实例并创建word文档。如果之前的实例卡在某处,我认为不会发生这种情况。我想早期的流程必须等待一些提示才能得到解答,比如保存/取消。因为下一个过程没有开始。 – Jay 2015-02-23 13:25:45