2013-02-10 3 views
0

Eventmachine을 사용하여 데몬 역할을하는 간단한 루비 파일이 있습니다. 그것은 다음과 같이 : echo $TEST_ENV 명확 프로세스가 시작되기 전에 변수가 정의 표시 할 때EventMachine의 Linux 환경 변수 루프 실행

... 
EM.run { 
    Signal.trap('INT') { @log.debug("trapped INT signal"); stop(true) } 
    Signal.trap('TERM') { @log.debug("trapped TERM signal"); stop(true) } 

    EM.add_periodic_timer 60 do 
     puts ENV['TEST_ENV'] 
    end 
} 
... 

를 실행 한 후, 나는 TEST_ENV에 대한 인쇄 아무것도 얻을 수 없다.

내 데몬이 환경 변수를 볼 수 있도록하려면 어떻게해야합니까?

+3

당신은에'수출 TEST_ENV'을 잊지 않았다? –

+0

아니요. 아마도 환경 변수가 EM 루프 외부에서 설정되고 사용 가능하다는 언급이 있어야합니다. 내가 echo $ TEST_ENV가 명확하게 변수가 정의되어 있음을 언급했다. – Khash

답변

0

모든 난 정말 당신이 표시되지 않는 것을 예를 더가없는 말할 수는, 나를 위해 작동 :

petunia ~/t $ cat t.rb 
#!/usr/bin/env ruby 

require 'rubygems' 
require 'eventmachine' 

EM.run { 
    EM.add_periodic_timer(5) do 
    puts ENV['TEST_ENV'] 
    end 
} 


petunia ~/t $ TEST_ENV=test ruby ./t.rb 
test