2009-07-05
■ [ruby] Process.spawnを使ってみた
髪を切りに行ったら「痩せましたね」って言われたyharaですこんばんわ。俺の体重、どこいってしもたんや…。 早くRubyKaigiを終えて(健康的に)太りたいです。(本当は、この程度のプレッシャーで痩せたりしないようになりたいんですけど *1)
今日の調査。
- Process.spawnがすごいことになってる
といいつつ、今回は基本的な使い方を。
loop.rb
puts "starting loop with ruby #{RUBY_VERSION}.. / #{ENV['TEST']}"
sleep 2
runner.rb
puts "invoking loop.rb"
pid = Process.spawn({'TEST' => "hello"}, "ruby loop.rb")
Thread.new {
ret = Process.waitpid2(pid)
puts "process ended: #{ret.inspect}"
}
5.times do |i|
puts "count #{i}"
sleep 1
end
んで、実行結果が
D:\proj2\ruby-station>ruby runner.rb invoking loop.rb count 0 starting loop with ruby 1.9.1.. / hello count 1 count 2 process ended: [1456, #<Process::Status: pid 1456 exit 0>] count 3 count 4
のようになりました。Windowsです。いい感じですね。
*1 院試(2005)と就活(2007)の時も痩せてた気がするので、2年ごとに痩せる周期なのかも…
[ツッコミを入れる]