繁体   English   中英

监控.NET中运行的应用程序?

[英]Monitor running apps in .NET?

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

其他人是SQL Server和IIS等“大牌”。

我想编写一个应用程序(或实际上是服务)来监视这些程序并查看它们是否正在运行。

这比我以前做的有点远。 哦,这需要用C#编写。

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

任何提示从哪里开始?

谢谢你的任何建议。

您可以使用Process.GetProcesses()

使用此方法可以创建一个新的Process组件数组,并将它们与本地计算机上的所有进程资源相关联。

您应该根据具体情况处理每个应用程序,虽然您可以检查SQL Server进程是否存在,但最好还是运行查询(例如)检查给定的存在性服务器中的数据库。

类似地,您可以针对IIS服务器运行简单的HTTP请求以检查以确保正确设置权限等...

显然,测试Java进程的方式取决于它们的工作方式,尽管您仍然可以检查进程是否正在运行(请注意,如果它们作为服务运行,它们可能正在其中一个svchost中运行.exe进程 - 虽然这不适用于计划任务)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM