2011-04-08 73 views
4

我们有几个在Windows 2003/2008服务器上运行的应用程序。其中一些应用程序是使用app.cmd文件以Scheduled Task启动的Java JAR文件。在.NET中监视正在运行的应用程序?

其他人是像SQL Server和IIS这样的“大人物”。

我想写一个应用程序(或服务,实际上),只是监视这些程序,看看他们是否运行。

这有点超出了我之前做过的。哦,这需要用C#编写。

我正在考虑某种类型的“心跳”模式,以便每隔几分钟检查一次线程是否正在运行(再一次,新的高级线程),如果是,发出一个“All's OK”消息SMTP或其他)。

任何提示从哪里开始?

感谢您的任何建议。

回答

2

您可以使用Process.GetProcesses()

使用此方法来创建新的流程组件阵列,并将它们与本地计算机上的所有进程资源关联。

2

你或许应该处理一个案件逐案基础上的每个应用程序,为的exaple虽然你可以只检查SQL Server进程是否存在等,你会更好运行一个查询,(例如)检查服务器中给定数据库的存在。

同样可以运行针对IIS服务器的简单的HTTP请求进行检查,以确保权限设置是否正确等设置...

很显然,你测试你的Java进程将取决于这样他们尽管你仍然可以检查是否正在运行进程(请注意,如果它们作为服务运行,它们可能在svchost.exe进程中运行 - 但这不适用于计划任务) 。

相关问题