1
실행중인 서비스를 중지하려고합니다. 제가 만든 콘솔 프로그램입니다. 이 내 코드입니다 :이 일이 결코서비스 중지
ServiceController sc = new ServiceController(ServiceName, ".");
sc.Stop();
그때 중지로 전환하기 위해, 서비스 상태 기다려야하지만. StopPending이있는 것 같습니다. 결코 멈추지 않았습니다. Services.msc를 검사하면 중지 된 것으로 표시되고 taskmanager에서 프로세스가 사라졌습니다.
영원히 대기 중입니까? 내가 뭔가 잘못하고 있는거야? 거기에 뭔가 수정해야 할 경우에도 서비스 용 코드가 있습니다.
저는 이미 기다리고 있습니다. Pending에서 변경되지 않는 것 같습니다. – Nicolai
실제로, 이것은 작동하는 것처럼 보였다. 나는 while 루프를 사용하여 자신을 확인하면서 sc.status에게 질문했다. 나는 그것이 결코 보류 상태에서 바뀌지 않은 이유를 모른다. WaitForStatus로 변경하면 해결되었습니다. – Nicolai
@ Nicolay, 아마도 상태가 캐싱되었습니다. 상태를 업데이트하는'sc.Refresh()'메소드가 있습니다. 그러나 WaitForStatus가 더 나은 솔루션입니다. – HugoRune