kazmax - Linux で自宅サーバー

pts - スペシャルファイル (デバイス)の説明 - Linux コマンド集 一覧表

  1. 名前
  2. 説明
  3. ファイル
  4. 備考
  5. 関連項目

名前

ptmx and pts - 擬似端末のマスタとスレーブ

説明

ファイル /dev/ptmx は、メジャーナンバー (major number) 5、 マイナーナンバー (minor number) 2 を持つキャラクタ・ファイルであり、 通常、モードは 0666 で、所有者.グループは root.root である。 このファイルは、擬似端末 (pseudo-terminal) のマスタとスレーブの ペアを作成するために使用される。

プロセスが /dev/ptmx をオープンすると、そのプロセスには 擬似端末マスタ (pseudo-terminal master; PTM) へのファイル・ ディスクリプタが返され、 /dev/pts ディレクトリに擬似端末スレーブ (pseudo-terminal slave; PTS) デバイスが作成される。 /dev/ptmx をオープンして得られるファイル・ディスクリプタは それぞれ独立の PTM であり、対応する PTS を各々持つ。 PTS のパス名は、PTM のファイル・ディスクリプタを   ptsname (3) に渡すと知ることができる。

擬似端末スレーブをオープンする前に、必ず、マスタのファイル・ディスクリプタを 引き数として   grantpt (3) と   unlockpt (3) を呼び出さなければならない。

擬似端末のマスタとスレーブの両方がオープンされた後は、スレーブは、 プロセスに対して、実端末 (real terminal) と全く同じインタフェースを提供する。

スレーブに書かれたデータはマスタ・ディスクリプタに対する入力として扱われ、 マスタに書かれたデータはスレーブに対する入力として扱われる。

実例をあげると、擬似端末は xterm (1)のような端末エミュレータを実装するのに使用されている。 端末エミュレータでは、擬似端末のマスタから読み込まれたデータは、 アプリケーションにとって実端末のデータと全く同じもののように見える。 また、 sshd (8)のようなリモート・ログイン用のプログラムの実装では、 擬似端末マスタから読み込まれたデータは、ネットワークを経由して、 端末や端末エミュレータに接続されているクライアント・プログラムに送信される。

擬似端末は、 ( su (8)や passwd (8)のような) 通常はパイプからの入力を拒否するプログラムに、 入力を送信するためにも使用できる。

ファイル

/dev/ptmx , /dev/pts/*

備考

(Unix98 pty naming と呼ばれる) 上記の機能の Linux でのサポートは、 通常 /dev/pts にマウントされるはずの devpts ファイルシステムを通して実現されている、

この Unix98 スキームが導入される前は、マスタ擬似端末は /dev/ptyp0 , ...、スレーブ擬似端末は /dev/ttyp0 , ...と呼ばれており、あらかじめたくさんのデバイス・ノードを割り当てて おく必要があった。

関連項目