2016-10-24 4 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 서비스가 실행 중 상태이지만 응답이 없거나 중단됩니다. 서비스를 다시 시작하면 정상적으로 작동하기 시작합니다. –