aboutsummaryrefslogtreecommitdiffstats
path: root/ext/pty/README.ja
diff options
context:
space:
mode:
Diffstat (limited to 'ext/pty/README.ja')
-rw-r--r--ext/pty/README.ja49
1 files changed, 18 insertions, 31 deletions
diff --git a/ext/pty/README.ja b/ext/pty/README.ja
index 5ae4fb06a0..ca2a01442a 100644
--- a/ext/pty/README.ja
+++ b/ext/pty/README.ja
@@ -30,43 +30,30 @@ pty 拡張モジュール version 0.3 by A.ito
セスIDです.この関数がイテレータとして呼ばれた場合,これらの
要素はブロックパラメータとして渡され,関数自体はnilを返します.
- この関数によって作られたサブプロセスが動いている間,子プロセス
- の状態を監視するために SIGCHLD シグナルを捕捉します.子プロセス
- が終了したり停止した場合には,例外が発生します.この間,すべての
- SIGCHLD が PTY モジュールのシグナルハンドラに捕捉されるので,
- サブプロセスを生成する他の関数(system() とか IO.popen()など)を
- 使うと,予期しない例外が発生することがあります.これを防ぐため
- には,下記のprotect_signal()を参照してください.
-
- この関数がブロックパラメータ付きで呼ばれた場合には,そのブロック
- の中でのみ SIGCHLD が捕捉されます.したがって,ブロックパラメータ
- として渡されたIOオブジェクトを,ブロックの外に持ち出して使うの
- は勧められません.
-
-
+ 子プロセスが終了したり停止した場合には,例外が発生します.この関
+ 数がブロックパラメータ付きで呼ばれた場合には,そのブロックの中で
+ のみ例外が発生します.子プロセスをモニターしているスレッドはブロッ
+ クを抜けるときに終了します.
+
protect_signal
+ reset_signal
- この関数はイテレータです.ここで指定されたブロックの中では,
- 子プロセスが終了しても例外を発生しません.この関数を使うことで,
- PTYの子プロセスが動いている間でも,system()や IO.popen()などの
- 関数を安全に使うことができます.例えば,
+ 廃止予定です.
- PTY.spawn("command_foo") do |r,w|
- ...
- ...
- PTY.protect_signal do
- system "some other commands"
- end
- ...
- end
+ PTY.open
- このような記述により,"some other commands" が終了したときに
- 例外が発生するのを防げます.
+ 仮想ttyを確保し,マスター側に対応するIOオブジェクトとスレーブ側に
+ 対応するFileオブジェクトの配列を返します.ブロック付きで呼び出さ
+ れた場合は,これらの要素はブロックパラメータとして渡され,ブロッ
+ クから返された結果を返します.また、このマスターIOとスレーブFile
+ は、ブロックを抜けるときにクローズ済みでなければクローズされます.
- reset_signal
+ PTY.check(pid[, raise=false])
- PTY の子プロセスが動いていても,そのプロセスの終了時に例外が発生
- しないようにします.
+ pidで指定された子プロセスの状態をチェックし,実行中であればnilを
+ 返します.終了しているか停止している場合、第二引数が偽であれば、
+ 対応するProcess::Statusオブジェクトを返します。真であれば
+ PTY::ChildExited例外が発生します.
4. 利用について