如何检查应用程序是否停止或从窗口服务工作

问题描述:

我有一个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然后等待网络请求,所以停止处理输入...但是当请求完成时它将开始响应。在这种情况下,它已经停止了一个定义,但没有其他意义。

+0

我有一个想法给予足够的时间让应用程序响应。例如,我重试检查响应状态4分钟,如果仍然没有响应,我想重新启动它。 – malik 2010-04-08 11:43:27