2016-10-24 7 views
0

ServiceControllerを使用してサービスのリストとそのステータスを取得しています。 、StartPending、StopPending、一時停止など を停止しかし、時にはサービスが実行されているにもかかわらず、サービスが実行されている場合ServiceControllerクラスを使用して打撃またはハングしたサービスを調べる

var scServices = ServiceController.GetServices(machineIPOrName).ToList(); 
var scservice = scServices.FirstOrDefault(i => i.ServiceName.ToUpper().Equals(serviceName.ToUpper())); 

は現在、それが返されます。

は、以下のサンプルコードです。それは、ハングアップ/ストライク状態になるでしょう、それは仕事をしていません。サービスが襲撃されたのか、狩猟された状態にあるのかをどうやって特定するのですか?

答えて

0

サービスに何をしているべきかわからない場合は、サービスが実際にその仕事をしているかどうかを確認する方法はありません。 サービスを自分で実装した場合、何らかの種類のインターフェイスを実装して、実際に実行されていて、何らかの停止/無限ループ状態ではないかどうかを確認することができます。

+0

私は、運用環境のすべてのサービスを監視するヘルスモニタサービスを構築しています。時には、Windowsサービスが実行中の状態であっても、応答しない/停止していることがあります。サービスの再起動時に、正常に動作し始めます。 –

関連する問題