https://unix.stackexchange.com/a/492304/674説明する
Linuxでは、devptsを使用するとデフォルトのデバイスファイルはありません。マスター側のプロセスはptmxを開いて得られたファイル記述子を使用しますが、対応するデバイスノードはありません。
著者がまたはに/dev/ptmx
言及しましたか/dev/pts/ptmx
?
なぜデバイスファイル/dev/ptmx
で/dev/pts/ptmx
はなくデバイスファイルなのですか?どのタイプのファイルですか?
/dev/ptmx
これらとそしての違いは何ですか/dev/pts/ptmx
?
ありがとうございます。
Lubuntu 18.04から
$ file /dev/ptmx
/dev/ptmx: character special (5/2)
$ file /dev/pts/ptmx
/dev/pts/ptmx: character special (5/2)
$ sudo su
# stat -L /dev/fd/3 3<> /dev/pts/ptmx
File: /dev/fd/3
Size: 0 Blocks: 0 IO Block: 1024 character special file
Device: 15h/21d Inode: 2 Links: 1 Device type: 5,2
Access: (0000/c---------) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-11-21 13:39:10.544000218 -0500
Modify: 2018-11-21 13:39:10.544000218 -0500
Change: 2018-11-21 13:39:10.544000218 -0500
Birth: -
# stat -L /dev/fd/3 3<> /dev/ptmx
File: /dev/fd/3
Size: 0 Blocks: 0 IO Block: 4096 character special file
Device: 6h/6d Inode: 87 Links: 1 Device type: 5,2
Access: (0666/crw-rw-rw-) Uid: ( 0/ root) Gid: ( 5/ tty)
Access: 2019-01-06 07:19:54.372098540 -0500
Modify: 2019-01-06 07:19:54.372098540 -0500
Change: 2018-11-21 13:39:30.372098540 -0500
Birth: -
答え1
コンテキストは「マスターとスレーブのペアを持つ疑似端末」です。 「マスタデバイスファイルなし」と書くことは、スレーブ側とは異なり、擬似端末接続のマスタ側に対応するファイルシステムにデバイスノードがないことを意味する。私の言葉は、/dev/ptmx
または/dev/pts/ptmx
。
/dev/ptmx
および銀またはの出力/dev/pts/ptmx
にある型で表されるデバイスノード。プライマリデバイスとセカンダリデバイスが同じであるため、同じデバイスへのアクセスを提供します。ls
stat
バラよりJdeBPの答え到着`/dev/pts/ptmx`はどこから来ましたか?これら2つのデバイスノードの歴史(そして今日、Linuxに2つのデバイスノードがある理由)について学びます。