Windows 서비스가되고 싶은 JRuby 프로그램이 있습니다. Ruby를 사용하여 서비스를 만드는 방법을 살펴 보았지만 클라이언트 컴퓨터에 루비를 설치하고 싶지는 않습니다. 그것은 JRuby에서 지원되지 않는 것 같습니다. jruby 프로그램을 Windows 서비스로 만듭니다.
나는이 밖으로 시도하는 더미 프로그램 생성 :path = "C:/tmp/my-svc.log"
if File.exists?(path)
File.open(path,"a"){|f| f.write(" called again\n")}
else
File.open(path,"w"){|f| f.write(" called first time\n")}
end
while true do
sleep 5
puts 'I am a service'
end
을 내가했던이 :
Z : \ 놀이> Sc.exe를 "larz 서비스 2.1"binpath = "C를 만들 : \ JRuby를 -1.6.7.2 \ 빈 \ JRuby를 -SZ :
: \ 내 - 윈 - svc.rb \ 재생 "이 오류가 발생했습니다를 시작하려 자동[SC] CreateService에 성공
= 시작 0
Z : \ 재생 시작> SC "larz 서비스 2.1"
[SC] StartService 오류 193
Z와 실패 \ 재생> SC 쿼리 "larz 서비스 2.1"
SERVICE_NAME: larz service 2.1`
TYPE : 10 WIN32_OWN_PROCESS`
STATE : 1 STOPPED
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
나는 initsrv.exe, powershell, CMD를 실행, 레지스트리 편집 등을 사용하여 Windows 서비스를 만드는 여러 가지 방법으로 웹상의 게시물을 많이 보았지만 실제로 무엇이 일어나고 있는지 또는 필요한지 잘 모르겠습니다. API를 호출하십시오. 다른 접근법에서 알 수있는 특정 시작 매개 변수를 추가하는 것처럼 보이지 않습니다. 또한 테스트 서비스를 시작할 때/tmp에있는 파일에 코드를 쓰도록 코드를 추가 했으므로 파일을 쓰지 않고 있으므로 프로그램을 시작하려고하면 실제로 실행되지 않습니다.
감사합니다 ..
좋아, 그래서 조금 더 가지고,하지만 여전히 신비화
Z : \ 놀이> SC 설정 "larz 서비스 2.2"OBJ = EEE \ 암호 lgud = " Ssssssss @ "
[SC] ChangeServiceConfig 성공
Z : \ 플레이> 시작 SC"larz 서비스 2.2 "
[SC] StartService FAILED 1069 :
로그온 실패로 인해 서비스가 시작되지 않았습니다.
config 명령에서 오류가 발생했을 때 user/pw에 올바른 형식으로 입력 한 것 같습니다.
좋아, 그래서 좀 더 멀리있어, 아직 신비화 Z : \ 재생> sc config "larz 서비스 2.2 "OBJ = EEE \ 암호 = lgud"Ssssssss @ " [SC] ChangeServiceConfig 성공 Z : \ 플레이> 시작 SC"larz 서비스 2.2 " [SC] StartService은 1069 실패 : 인해 서비스가 시작되지 않았습니다 로그온 실패. – user1456508