[英]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.