代码之家  ›  专栏  ›  技术社区  ›  alexn

C远程看门狗

  •  4
  • alexn  · 技术社区  · 14 年前

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

    我需要实现某种形式的看门狗,以确保所有这些服务都按预期运行。

    有些服务是通过Windows任务调度程序执行的,有些是长时间运行的应用程序。

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

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

    我想到了几个选择:

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

    对于任务计划程序调用的任务: 使用 PSEXEC 和查询 schtasks 找出我的服务运行的时间和返回代码是什么。

    你还有别的办法吗?

    对于记录,这将在c/wpf中实现。

    编辑:

    好吧,我以一种非常直接的方式解决了这个问题。谢谢你的意见。

    来源 : http://pastebin.com/fr6dDMp5

    3 回复  |  直到 14 年前
        1
  •  1
  •   shaans    14 年前
        2
  •  1
  •   alexn    14 年前

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

        3
  •  0
  •   Dennis    14 年前

    你考虑过使用Xynt服务吗( http://www.codeproject.com/KB/system/xyntservice.aspx )?

    它可以作为Windows服务运行您的控制台应用程序,并在它们停止时重新启动它们。 您不必修改现有的服务。