タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programmingとrubyに関するyzxのブックマーク (2)

  • 僕たちが待ち望んでいたRubyスクリプトをデーモン化する方法 - http://rubikitch.com/に移転しました

    Rubyでは、簡単にデーモンが記述できる。その方法は簡単!Ruby 1.9だと Process.daemon と書くだけだ。その行の後は制御端末が切離され、デーモンとして実行される。Ctrl+Cで終了できないので、永遠に実行を続けるスクリプトは「pkill -f」などで殺す。 既存のスクリプトをデーモン化するには、この一行を加えればいいだけなのだが、常にデーモンにしてしまうとデバッグが困難になってしまう。そこで、テスト時はふつうに実行して、普段はデーモンにしてしまえばいい。その方法もまた簡単!上の一行を daemonize.rb というファイルに保存すればいい。だけどこれだけだとつまらないので、ついでにRuby 1.8にも対応させてみる。 if Process.respond_to? :daemon # Ruby 1.9 Process.daemon else # Ruby 1.8 req

    僕たちが待ち望んでいたRubyスクリプトをデーモン化する方法 - http://rubikitch.com/に移転しました
  • rubyのスタックオーバフローに対処する - 2008-11-16 - 未来のいつか/hyoshiokの日記

    rubyのバグ(d:id:hyoshiok:20081106#p1)でsigsegvでrubyが異常終了するという話を書いた。その続き。 BINARY HACKSのHACK #76(pp. 291-300)、"sigaltstackでスタックオーバフローに対処する"が参考になりそうだ。 ということでsigaltstack(2)を使うというところを写経してみた。BINARY HACKSによれば、スタックオバーフローでSEGVした場合、通常のsignal(2)やsigaction(2)で処理することはできない。というのはスタックオバーフローした場合シグナルハンドラーを動かすスタックすら確保できないかららしい。なるほどね。そのため、スタックオバーフローを捕捉するために代替シグナルスタックを設定する必要がある。それには、sigaltstack(2)を使う。 http://www.linux.or.

    rubyのスタックオーバフローに対処する - 2008-11-16 - 未来のいつか/hyoshiokの日記
  • 1