2009-09-14 6 views
3

SRVANY.exe를 사용하여 Windows 서비스를 만드는 방법에 대한 여러 가지 답변을 온라인에서 읽었습니다. 내 서비스는 환경을 설정하는 배치 파일이며 (env vars 및 map 드라이브를 설정해야 함) 내 C++ 응용 프로그램을 생성합니다. 하지만 NET STOP을 수행하면 srvany.exe 프로세스가 사라지고 C++ 응용 프로그램이 그대로 유지됩니다. 정지 명령을 받으면 죽이는 방법이 있습니까? 어떤 설정 파일이 바뀌면 바운스 할 수 있어야합니다.Windows srvany.exe 및 서비스 중지

내가 cmd 셸을 선택한 이유는 쉬운 드라이브 매핑입니다. 이론적으로 필자는 perl이나 python 중 하나를 사용하여이 동작을 얻는 것이 더 쉽지만 그 다음에 드라이브를 매핑하기 위해 쉘을 사용해야합니다. 이게 말이 돼?

답변

2

아니요, srvany가 응용 프로그램을 중지하도록 설계되지 않았습니다. 주요 목적은 응용 프로그램을 서비스로 실행하도록 설계되지 않은 서비스로 시작할 수있게하는 것이 었습니다. 번거로운 해결 방법으로 srvany가 실행되는지 여부를 모니터링하는 예약 된 작업을 실행할 수 있으며 그렇지 않은 경우 응용 프로그램을 종료합니다.

3

AlwaysUp은 유용한 기능을 추가하는 것 외에도이 같은 단점을 다루는 SrvAny의 상업적 대안입니다.

NSSM은 AlwaysUp보다 기능이 약간 적지 만 서비스를 중지 할 때 기본 프로세스를 종료 할 수있는 오픈 소스 대안입니다.

관련 문제