2013-03-11 2 views
0

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에 올바른 형식으로 입력 한 것 같습니다.

+0

좋아, 그래서 좀 더 멀리있어, 아직 신비화 Z : \ 재생> sc config "larz 서비스 2.2 "OBJ = EEE \ 암호 = lgud"Ssssssss @ " [SC] ChangeServiceConfig 성공 Z : \ 플레이> 시작 SC"larz 서비스 2.2 " [SC] StartService은 1069 실패 : 인해 서비스가 시작되지 않았습니다 로그온 실패. – user1456508

답변

0

암호가 맞다고 확신하는 경우, 지정한 사용자에게 서비스로 실행할 수있는 적절한 권한이 없을 수도 있습니다. Windows 서비스 응용 프로그램 (services.msc) Log On tab에 계정 정보를 입력하면 해당 사용자에게 문제가 있는지 알려줍니다.

그러나 그 이상으로, 나는 Ruby가 설치되지 않은 채로 이것이 어떻게 될지 알지 못합니다. 서비스의 실행 파일 경로는 .rb 파일로 설정됩니다. Ruby가 아닌 경우 Windows가 해당 파일을 실행하기 위해 실행될 것으로 예상되는 응용 프로그램은 무엇입니까?

+0

나는 루비를 사용하여 다음에 어디로 갈지 알아 내려고 노력했다. 또한 ocra gem과 같은 것을 사용하여 윈도우 실행 파일을 만들 수 있다고 생각했다. 클라이언트 시스템에 루비를 설치하고 싶지는 않다고 생각합니다. 여하튼 나는 다른 시도를했습니다. http://stackoverflow.com/questions/15394683/running-windows-service-in-ruby-on -windows-7 나는 여전히 똑같은 문제를 겪고 있습니다. 기회가 생기면 개인 노트북에서 사용해 볼 수 있습니다. – user1456508

관련 문제