疑似端末(Pseudo tTY)を扱うモジュールです。
check(pid, raise = false) -> Process::Status | nil
[permalink][rdoc]pid で指定された子プロセスの状態をチェックし、変化があれば変化したステータスを返します。実行中、あるいは変化なしであれば nil を返します。
状態が変化した後、その状態を取得することは一回しかできない(くりかえし check を呼んだら nil が返ってくる)ので注意してください。
状態が変化して、終了したか停止した場合、第二引数が偽であれば、対応する Process::Status オブジェクトを返します。
open -> [IO, File]
[permalink][rdoc]open {|master_io, slave_file| ... } -> object
仮想 tty を確保し、マスター側に対応する IO オブジェクトとスレーブ側に対応する File オブジェクトの配列を返します。
ブロック付きで呼び出された場合は、これらの要素はブロックパラメータとして渡され、ブロックから返された結果を返します。また、このマスター IO とスレーブ File は、ブロックを抜けるときにクローズ済みでなければクローズされます。
getpty(command) -> [IO, IO, Integer]
[permalink][rdoc]getpty(command) {|read, write, pid| ... } -> nil
spawn(command) -> [IO, IO, Integer]
spawn(command) {|read, write, pid| ... } -> nil
擬似 tty を確保し、指定されたコマンドをその擬似 tty の向こうで実行し、配列を返します。
プラットフォームに依存しますが、対応していれば、作られたプロセスはセッションリーダーになり、その制御端末は作成された擬似 tty に設定されます。
[SEE_ALSO] Kernel.#spawn, Kernel.#system, IO.popen, signal(2)