C#远程看门狗

时间:2010-11-11 08:13:58

标签: c# watchdog

我们在多台远程计算机上运行了许多服务(主要是控制台应用程序)。

我需要实现某种形式的监视程序,以确保所有这些服务都按预期运行。

某些服务是通过Windows任务计划程序执行的,有些是长期运行的应用程序。

运行这些应用程序的最佳记录方式是什么? 我不想修改我正在运行的服务。

我拥有所有计算机的管理员权限。

我想到了一些选择:

对于长期运行的应用程序: 使用psexec并检索正在运行的进程列表,并确保我的应用程序在该列表中。

对于任务调度程序调用的任务: 使用psexec并查询schtasks,找出我的服务运行的时间以及返回代码的内容。

你对此有任何其他想法吗?

为了记录,这将在C#/ WPF中实现。

修改

好的,我以一种非常直接的方式解决了这个问题。感谢您的输入。

来源http://pastebin.com/fr6dDMp5

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

正如我在我的问题中所述,我使用Process.GetProcesses(string machineName)以非常直接的方式解决了这个问题,它可以在远程计算机上获取进程。来源:http://pastebin.com/fr6dDMp5

答案 2 :(得分:0)

您是否考虑过使用XYNT服务( http://www.codeproject.com/KB/system/xyntservice.aspx)?

它可以将您的控制台应用程序作为Windows服务运行并重置它们,如果它们停止。 您无需修改​​现有服务。