子プロセスの実行を3秒で止めたい
limit.rbとかをこんな感じで
pid = fork { exec ARGV[1] } sleep(ARGV[0].to_i) Process::kill(2, pid)
作っておいて、
IO.popen('ruby limit.rb 3 "gosh ..."') { |io| ... }
で、うまく行くような予感。
Process::setrlimit*1だと、CPU時間しか計れないので、getsとかで固まってるプログラムは殺せない。
limit.rbとかをこんな感じで
pid = fork { exec ARGV[1] } sleep(ARGV[0].to_i) Process::kill(2, pid)
作っておいて、
IO.popen('ruby limit.rb 3 "gosh ..."') { |io| ... }
で、うまく行くような予感。
Process::setrlimit*1だと、CPU時間しか計れないので、getsとかで固まってるプログラムは殺せない。