ruby/doc/pty
Nobuyoshi Nakada eaa6e4b228
[DOC] Update PTY documents
- Fix markups as RDoc.
- Remove already descriptions of removed methods.
2024-04-07 13:35:20 +09:00
..
README.expect.ja [DOC] Update PTY documents 2024-04-07 13:35:20 +09:00
README.ja [DOC] Update PTY documents 2024-04-07 13:35:20 +09:00

README.ja

Этот файл содержит неоднозначные символы Юникода!

Этот файл содержит неоднозначные символы Юникода, которые могут быть перепутаны с другими в текущей локали. Если это намеренно, можете спокойно проигнорировать это предупреждение. Используйте кнопку Экранировать, чтобы подсветить эти символы.

= pty 拡張モジュール version 0.3 by A.ito

1. はじめに

   この拡張モジュールは仮想tty (pty) を通して適当なコマンドを
   実行する機能を ruby に提供します.

2. インストール

   次のようにしてインストールしてください.

   1. <tt>ruby extconf.rb</tt>
      を実行すると Makefile が生成されます.

   2. <tt>make; make install</tt> を実行してください.

3. 何ができるか

   この拡張モジュールはPTY というモジュールを定義します.その中
   には,次のようなモジュール関数が含まれています.

   [PTY.getpty(command)]
   [PTY.spawn(command)]

      この関数は仮想ttyを確保し指定されたコマンドをその仮想tty
      の向こうで実行し配列を返します戻り値は3つの要素からなる
      配列です最初の要素は仮想ttyから読み出すためのIOオブジェクト
      2番目は書きこむためのIOオブジェクト3番目は子プロセスのプロ
      セスIDですこの関数がイテレータとして呼ばれた場合これらの
      要素はブロックパラメータとして渡され関数自体はnilを返します

      子プロセスが終了したり停止した場合には,例外が発生します.この関
      数がブロックパラメータ付きで呼ばれた場合には,そのブロックの中で
      のみ例外が発生します.子プロセスをモニターしているスレッドはブロッ
      クを抜けるときに終了します.

   [PTY.open]

      仮想ttyを確保しマスター側に対応するIOオブジェクトとスレーブ側に
      対応するFileオブジェクトの配列を返しますブロック付きで呼び出さ
      れた場合は,これらの要素はブロックパラメータとして渡され,ブロッ
      クから返された結果を返しますまた、このマスターIOとスレーブFile
      は、ブロックを抜けるときにクローズ済みでなければクローズされます.

   [PTY.check(pid[, raise=false])]

      pidで指定された子プロセスの状態をチェックし実行中であればnilを
      返します.終了しているか停止している場合、第二引数が偽であれば、
      対応するProcess::Statusオブジェクトを返します。真であれば
      PTY::ChildExited例外が発生します

4. 利用について

   伊藤彰則が著作権を保有します.

   ソースプログラムまたはドキュメントに元の著作権表示が改変されずに
   表示されている場合に限り,誰でも,このソフトウェアを無償かつ著作
   権者に無断で利用・配布・改変できます.利用目的は限定されていませ
   ん.

   このプログラムの利用・配布その他このプログラムに関係する行為によ
   って生じたいかなる損害に対しても,作者は一切責任を負いません.

5. バグ報告等

   バグレポートは歓迎します.

	aito@ei5sun.yz.yamagata-u.ac.jp

   まで電子メールでバグレポートをお送りください.