Provided by: manpages-ja_0.5.0.0.20210215+dfsg-1_all bug

名前

       pty - 擬似端末インターフェース

説明

       擬似端末  (pseudoterminal; "pty" と略されることもある) は、 双方向通信チャンネルを提供する
       仮想キャラクターデバイスのペアである。  チャンネルの一方の端点は  マスタ  (master)  と呼ば
       れ、もう一方の端点は  スレーブ (slave) と呼ばれる。 擬似端末のスレーブは、伝統的な端末と全
       く同じ動作をするインターフェースを  提供する。端末に接続されることを想定しているプロセスは
       擬似端末の スレーブをオープンすることができ、それ以降はマスタ側をオープン しているプログラ
       ムからそのプロセスを制御することができる。 端末で入力されたのと同じように、 マスタ側に書き
       込まれた全てのデータは、スレーブ側のプロセスに送られる。  例えば、マスタデバイスに割り込み
       キャラクター (通常は control-C) を書き込むと、  スレーブに接続されているフォアグラウンドプ
       ロセスグループに対して  割り込みシグナル (SIGINT)  が生成される。 反対に、擬似端末のスレー
       ブ側に書き込まれた全てのデータは、  マスタ側に接続されているプロセスから読み出すことができ
       る。 擬似端末は、ネットワークログインサービス (ssh(1), rlogin(1), telnet(1))  や端末エミュ
       レータ、 script(1), screen(1), expect(1)  などのアプリケーションで使用されている。

       歴史的に見ると BSD と System  V  の2種類の擬似端末の  API  が発展してきている。  SUSv1  は
       System  V API に基づいた擬似端末 API を標準化しており、 擬似端末を使用する新しいプログラム
       はすべてこの API を採用すべきである。

       Linux では BSD 風と (標準化された) System V 風の擬似端末を提供している。 System V 風の端末
       は、Linux システムでは一般に UNIX 98 擬似端末と呼ばれている。 カーネル 2.6.4 以降では、BSD
       風の擬似端末は廃止予定とみなされている (カーネルのコンフィギュレーションで BSD  風の擬似端
       末を無効にすることができる)。 新しいアプリケーションでは、UNIX 98 擬似端末を使用すべきであ
       る。

   UNIX 98 擬似端末
       未使用の UNIX 98 擬似端末マスタをオープンするには posix_openpt(3)  を呼び出す  (この関数は
       マスタクローンデバイス  (master clone device), /dev/ptmx をオープンする; pts(4)  を参照)。
       プログラム固有の初期化処理を実行し、 grantpt(3)   を使ってスレーブデバイスの所有権や許可を
       変更し、 unlockpt(3) を使ってスレーブのロック解除を行うと、 ptsname(3)  が返す名前を渡して
       open(2)  を呼び出すことにより 対応するスレーブデバイスをオープンできるようになる。

       Linux カーネルでは、利用できる UNIX 98 擬似端末の数に上限を設けている。 2.6.3 以前のカーネ
       ルでは、この上限はカーネルのコンパイル時の設定  (CONFIG_UNIX98_PTYS)  である。許可される擬
       似端末の数は最大 2048 であり、 デフォルトの設定は 256 である。 カーネル 2.6.4 以降では、こ
       の上限は         /proc/sys/kernel/pty/max         経由で動的に調整可能となっている。また、
       /proc/sys/kernel/pty/nr で現在使用中の擬似端末の数を取得できる。 この  2つのファイルの詳細
       は proc(5)  を参照。

   BSD 擬似端末
       BSD  風の擬似端末はあらかじめ作成されたペアとして提供される。その名前は /dev/ptyXY (マスタ
       側)、 /dev/ttyXY (スレーブ側) である。ここで、 X は [p-za-e] の  16文字のうちの一文字、  Y
       は [0-9a-f] の 16文字のうちの一文字である (X, Y に使われる文字の正確な範囲は UNIX の実装に
       より異なる)。 例えば、 /dev/ptyp1/dev/ttyp1 は BSD 擬似端末ペアを構成する。 プロセスが
       未使用の擬似端末ペアを見つけるには、 各擬似端末のマスタの open(2)  を試み、open が成功する
       までこれを繰り返す。 マスタを open すると、対応する擬似端末のスレーブも open  できるように
       なる (スレーブの名前は、マスタの名前の "pty" を "tty" に置き換えたものである)。

ファイル

       /dev/ptmx (UNIX 98 マスタクローンデバイス)
       /dev/pts/* (UNIX 98 スレーブデバイス)
       /dev/pty[p-za-e][0-9a-f] (BSD マスタデバイス)
       /dev/tty[p-za-e][0-9a-f] (BSD スレーブデバイス)

注意

       パケットモード操作の制御を行う TIOCPKT ioctl(2)  の説明は tty_ioctl(4)  に書かれている。

       BSD  ioctl(2)  の TIOCSTOP, TIOCSTART, TIOCUCNTL, TIOCREMOTE はこれまでのところ Linux では
       実装されていない。

関連項目

       select(2), setsid(2), forkpty(3), openpty(3), termios(3), pts(4), tty(4), tty_ioctl(4)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部  である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。