
I have created a computer program, which I have installed as a Windows service, and I have added a dependency towards another Windows service, the "KEPServerEX 6.9 Runtime", as you can see from this screenshot:
I have tested this dependency in different ways:
- I have restarted my computer and I tried to verify that "KEPServerEX 6.9 Runtime" is started up earlier than my program.
- I have stopped "KEPServerEX 6.9 Runtime" and I expected my program to be stopped too.
These are my results:
- 모르겠어요: 프로그램이 시작되고 이벤트 로그에 항목이 생성될 때. 이는 "KEPServerEX 6.9 Runtime"의 경우가 아니며 "KEP..."도 로깅을 생성하지 않으므로 이 테스트가 어디에서 성공했는지 알 수 없습니다.
- 내 프로그램이 멈추지 않았습니다.
컴퓨터를 재부팅할 때 내 프로그램이 "KEPServerEX 6.9 Runtime" 후에만 시작된다는 것을 증명하더라도 Windows 서비스 종속성의 의미가 무엇인지 궁금합니다(포인트 2 참조).
저는 Windows-10 컴퓨터에서 작업하고 있고 고객은 Windows Server 2016에서 작업하고 있습니다. 답변이 두 운영 체제 모두에 유효하기를 바랍니다.
참고: "KEPServerEX 6.9 Runtime"은 상용 도구이므로 수정할 수 없습니다.
답변1
마이크로소프트의 sc.exe 구성:
의존하다=
<dependencies>
이 서비스 전에 시작해야 하는 서비스 또는 그룹의 이름을 지정합니다. 이름은 슬래시(/)로 구분됩니다.
이것이 종속성의 유일한 이유입니다. Windows 시작 프로세스에 순서를 지정하는 것입니다.
시작 후에는 종속 서비스를 다시 시작할 때를 제외하고 종속성이 적용되지 않습니다.