0

Eventmachine を使用してデーモンとして機能する単純な ruby​​ ファイルがあります。次のようになります。

...
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
}
...

echo $TEST_ENVそれを実行した後、プロセスが開始される前に変数が定義されていることを明確に示している場合、TEST_ENV には何も出力されません。

デーモンが環境変数を認識できるようにするにはどうすればよいですか?

4

1 に答える 1

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
于 2013-03-01T04:20:17.413 に答える