如何检查应用程序是否停止或从窗口服务工作
问题描述:
我有一个WPF应用程序和一个Windows服务作为看门狗。如何检查应用程序是否停止或从窗口服务工作
我想检查我的窗口应用程序是否暂停或正常工作。如果它暂停,我想重新启动应用程序。
我看到Process.responding属性,但它不在我的服务中工作。
任何想法或其他解决方案。
Process[] myProcesses;
myProcesses = Process.GetProcessesByName(ApplicationName);
if (myProcesses.Length > 0)
{
foreach (Process proc in myProcesses)
{
_Logger.LogMessage("Check responding");
if (!proc.Responding)
答
一般而言,您无法检测程序是否已暂停(查找“停机问题”)。
如果你有一个特定的技术定义“停止”你的情况,那么它可能是可能的,但细节就是一切。
考虑一个GUI然后等待网络请求,所以停止处理输入...但是当请求完成时它将开始响应。在这种情况下,它已经停止了一个定义,但没有其他意义。
我有一个想法给予足够的时间让应用程序响应。例如,我重试检查响应状态4分钟,如果仍然没有响应,我想重新启动它。 – malik 2010-04-08 11:43:27