티스토리 뷰

먹고사는일

윈도우 서비스 등록, 삭제

깨드기쫑 2017. 1. 19. 09:58

고객사의 유휴장비중에서 윈도우 서버를 개발서버로 이용중인데

Jenkins CI 구동을 위한 톰캣 서버와 SVN 서버를 서비스로 등록을 해 달라는 요청이 있었습니다.

사용하지 않는 장비이다보니 수시로 재부팅이 빈번하게 발생해서

그때마다 일일이 서브버전 서버 등을 직접 구동시키기 힘들다고 하더군요.


네, 오늘은 다른 설명 다 빼고, 실제 등록화면과 명령어 보시면서 설명드리겠습니다.

우선 윈도우의 명령 프롬프트를 실행합니다.

윈도우 명령프롬프트에서 서비스를 등록하는 명령어는 "sc create"라는 명령어를 이용합니다.


C:\>sc create

설명:

        레지스트리 및 서비스 데이터베이스에 서비스 항목을 만듭니다.

사용법:

        sc <서버>create [서비스 이름] [binPath= ] <옵션1> <옵션2>...


옵션:

참고: 옵션 이름은 등호(=)를 포함합니다.

      등호와 값 사이에는 공백이 한 칸 있어야 합니다.

 type= <own|share|interact|kernel|filesys|rec|userown|usershare>

       (default = own)

 start= <boot|system|auto|demand|disabled|delayed-auto>

       (default = demand)

 error= <normal|severe|critical|ignore>

       (default = normal)

 binPath= <.exe 파일에 대한 BinaryPathName>

 group= <LoadOrderGroup>

 tag= <yes|no>

 depend= <종속성(슬래시(/)로 구분)>

 obj= <AccountName|ObjectName>

       (default = LocalSystem)

 DisplayName= <표시 이름>

 password= <암호>


"sc create" 명령어를 실행하면 설명이 출력됩니다. 저 명령어의 참고내용에도 적혀있지만 반드시 등호화 값 사이에 공백을 넣어야 합니다.


그럼 SVN 서버를 한번 윈도우 서비스에 한번 등록해보도록 하겠습니다.

cmd> sc create SVN_SERVER_SERVICE

binPath= "C:\Program Files (x86)\SVN_SERVER\svnserve.exe --service -r D:\SVN_REPOS --listen-port 3699"

DisplayName= "Apache Subversion Server for Project"


cmd> sc description SVN_SERVER_SERVICE "Apache Subversion 저장소를 서비스합니다"


보기 쉽게 여러 줄로 보여드린것이고 명령 프롬프트에서는 한 줄로 입력하시면 됩니다.

간략히 설명드리면,

첫번째 명령어는 윈도우 서비스를 등록하는 것입니다. 서비스의 이름은 "SVN_SERVER_SERVICE" 이고 실행할 바이너리의 경로, 그리고 윈도우 서비스에 사용자가 인식할 수 있는 이름을 "Apache Subversion Server for Project" 으로 해서 윈도우 서비스에 등록하라는 것입니다.

두번째 "sc description" 명령어는 해당 윈도우 서비스의 추가 설명을 등록하는 것입니다.


실제 위 두 명령어를 이용하면,


위와 같이 실행이 됩니다. 그리고 그 결과를 윈도우 서비스에서 확인화면 다음과 같이 표시됩니다.


참고로 위 그림을 보시면 시작 유형이 수동으로 되어 있는데, 저는 테스트를 위해 기본 값으로 한 것입니다. 실제로 사용하실 때 항상 윈도우 시작 시 서비스를 실행하시고자 할 경우에는 "sc create" 명령어 실행시 "start= boot" 옵션을 지정하시면 윈도우 시작 시 해당 서비스가 실행되게 되니 참고하시기 바랍니다.


자, 모든 개발자님들 화이팅 하세요. 비록 오늘 (2017년 1월 19일 목요일) 미세먼지 농도가 높다고 하지만 개발 하시는 중간에 잠깐 자리에서 일어나서 사무실이라도 한 바퀴 돌아보고 하세요!




ㅋㅋ 글쓰고 발행 누르고 나서 다시 와서 덧붙입니다. 등록 후 혹시나 삭제할 경우가 생길지도 모르니.. 삭제도 잠깐 보여드리겠습니다.

삭제는 간단합니다. 다음과 같이 입력하시면 됩니다.

cmd> sc delete SVN_SERVER_SERVICE

위와 같이 등록할 때 사용한 서비스의 이름을 이용하여 삭제하시면 됩니다.

실제 실행 예를 그림으로 보시겠습니다.


위와 같이 실행이 되면 정상적으로 성공이 되었습니다.



정말 진짜 끝이구요.

행복한 하루 되세요~!



댓글