2013. 7. 8. 16:54 IT
WIN XP, WIn 2003 에 배치파일 bat 를 서비스로 등록하기.
유닉스나 리눅스 계열에서는 백그라운드로 서비스를 올릴때 & 만 붙여주면 쉽게 되지만,
이놈의 window는 java를 너무 홀대 하는지 한번에 할 수 있는 기능을 제공해 주지는 않는다.
그래서 사용 할 수 있는 방법을 찾다보니 3가지 정도 가능한 것 같아 정리 해 보았다.
1. sc를 이용한 방법
sc는 Visual Studio .NET / Visual Studio 2005를 설치 하거나 .Net Framework 1.1이상 설치하면 사용 할 수 있다.
사용방법
c:\sc create "등록할 서비스명" binpath= "D:\Mobile\Server\run.bat" displayName= "등록할 서비스명" start= auto type= own
위와 같이 command에서 실행 했을 때 에러 없이 떨이지면 성공. 제어판>관리도구>서비스에서 "등록할 서비스 명"으로 확인 가능.
run.bat 내용
set JAVA_HOME=C:\\Program Files\\Java\\jdk1.6.0_20\\ set JAVA=java
%JAVA% %JAVA_OPTS% %MAS_LUNCHER% -Dcom.api.Start |
binpath : run.bat 파일의 절대 경로
displayName : 제어판>관리도구>서비스에 표시된 이름(꼭 영문으로 사용 할 것)
start : 여러가지 옵션이 있으며, auto 일 경우 "자동"으로 설정됨(default)
type : 소유자(own 이 default 이며, 권한 별로 실행 유무를 설정 가능 한 것 같음)
주의할 점
옵션에 "=" 표시가 보일 것이다. 구분자를 "="으로 하는 것 같다. 왜그런지 모르겠지만, "=" 다음에 한칸 공백을 띄워주니 잘된다. 이것 때문에 삽질 했다.
단, 이 방법으로 서비스를 성공적으로 등록 했다하여도 실제 실행 시 "오류 : 1053 어쩌구 저쩌구 나오는 경우가 있다. window 버그라고 하는데.... 쩝 버그 수정은 왜 안하는지..
그럴 땐 눈물을 머금고 약간 귀찮은 2,3번 방법을 이용해야 한다.
2. srvany.exe, instsrv.exe + 레시지스트리 수정하여 등록 하는 방법
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17657 2003 과 xp에서만 될 것 같으며 그 외에 버젼이라면 3번 방법을 이용하면 된다.
Resource Kit Tools 라는 실행 파일을 받을 수 있으며, 압축풀면 많은 파일이 나오는데, 그 중에서 우리가 필요한 것은 2개의 파일(srvany.exe, instsrv.exe)이다.
2개의 파일은 C:\windows\system32\에 붙여 넣고 아래와 같이 실행한다.
1. c:\instsrv "서비스명" C:\windows\system32\srvany.exe 엔터. 이러면 registry에 서비스명이 등록된것을 확인할 수 있다.(아래 과정에서 확인가능)
2. 실행>regedit를 열어 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Serviuces\서비스명에
Parameters 키를 생성
3. Parameters 클릭 > 오른쪽 속성화면에서 오른쪽 마우스 클릭 > "문자열"선택 하여 아래와 같이 3개 추가해 준다.
Application : D:\Mobile\Server\run.bat
AppDirectory : D:\Mobile\Server
AppParameters : 필요한 파라미터값
위와 같이 설정 하면 제어판>관리도구>서비스에서 해당 이름으로 서비스 등록 되 있는 것을 확인 할 수 있다.
3. JavaService를 이용한 방법
오픈 소스로 등록 된 JavaService 를 이용하는 방법으로 exe프로그램 하나만 다운받으면 가능하다.
예제만 봐도 알 수 있을 것 같아서 자세한 설명은 PASS 하고 자세한 내용은 첨부파일에 document를 참고 하면 된다.
JavsService 다운로드 URL : http://forge.ow2.org/project/showfiles.php?group_id=137&release_id=1560
JavaService.exe -install "Mobile Server" C:\Program Files\Java\jre6\bin\client\jvm.dll -Djava.class.path=classes.jar -start com.xxx.Startup -err d:\logs\stderr.txt
간단히 설명하면
-install : 서비스 등록을 위한 option 이며, 해제는 -uninstall이다.
-start : 동작할 class 명
-out : 콘솔 로그 남는 파리 경로
-err : 에러 로그 남는 파일 경로
[출처] bat 파일 또는 java를 윈도우 서비스로 등록 방법|작성자 watso77
'IT' 카테고리의 다른 글
HTML 기본 와꾸. by jkun75 (0) | 2013.07.15 |
---|---|
PRE Tag 자동 줄바꿈 (0) | 2013.07.09 |
window.opener.location.reload, 웹 페이지를 다시 표시하려면 웹 브라우저에서 이전에 전송한 정보를 다시 전송해야 합니다. 라는 경고 발생 (0) | 2013.07.03 |
IIS 7.0 에서 임의 폴더 서비스 제외. (0) | 2013.07.02 |
ASP MAC Address 알아내기 FROM TAEYO.NET. (0) | 2013.06.18 |