タグ

ブックマーク / fenrir.naruoka.org (1)

  • Fenrir's BLog: Ruby::PTYで外部コマンドの起動終了の制御

    Rubyでちょっとした処理プログラムを作ったときの話です。プログラムの構造として、Ruby以外の言語で書かれた実行バイナリが既に複数あり、それを起動したり、終了したりしながら制御をするというものでした。いわゆるプロセス制御なのですが、僕が思い違いをしていたこともあり、ちょっと苦労したのでその時の話をまとめておこうと思います。僕がいきついた答えを先に書いてしまうとRuby::PTYでした。 今回の目的に使えるのでは、とまず一番に思ったのが、Rubyで外部のコマンドを起動する最も簡単な方法である、組み込みコマンドのsystemや`(str)`、execなどです。これらは外部コマンドの実行結果を得ることができるのですが、外部コマンドの終了まで制御が帰ってこない、execに至っては外部コマンドの起動が成功してしまうと起動したRubyスクリプトに制御が戻ってこないというありさまです。 そこでこれらの

    toton
    toton 2010/05/21
  • 1