我想編寫一個窗口服務來管理另一個窗口服務,並檢查它是否停止或正在運行。我如何編寫一個Windows服務來管理其他的Windows服務?(我能嗎?)
如果它已停止,那麼我的根服務將再次啓動服務。
我的根服務正在某個時間運行。
我想編寫一個窗口服務來管理另一個窗口服務,並檢查它是否停止或正在運行。我如何編寫一個Windows服務來管理其他的Windows服務?(我能嗎?)
如果它已停止,那麼我的根服務將再次啓動服務。
我的根服務正在某個時間運行。
創建一個監視您的服務的Windows服務。在服務代碼將
var Service = new ServiceController(servicetowach);
if (Service.Status != ServiceControllerStatus.Running
&& Service.Status != ServiceControllerStatus.StartPending)
{
Service.Start();
}
哪裏ServiceToWatch是你想要觀看的服務的名稱,如果運行或不
看一看的ServiceController類:
表示一個Windows服務,並允許您連接到正在運行的或已停止的服務,對其進行操作或獲取有關該服務的信息。
例子:
要啓動服務,你可以使用這樣的代碼:
ServiceController service = new ServiceController("YourServiceName");
service.Start()
類有一個Status屬性,你可以用它來檢查您要監控的服務是否正在運行或停止。
備選:
您也可以使用命令行工具來檢查/啓動/停止服務。
要檢查服務是否正在運行:
sc query YourServiceName
要啓動服務:
net start YourServiceName
要停止服務:
net stop YourServiceName
此代碼正在運行嗎?感謝它似乎是真的 – 2012-07-16 06:50:17