![](/img/trans.png)
[英]How do I determine which monitor my .NET Windows Forms program is running on?
[英]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.