GNU/Linux >> Znalost Linux >  >> Linux

Linux – proč `/dev/ptmx` a `/dev/pts/ptmx` nejsou soubory zařízení?

https://unix.stackexchange.com/a/492304/674 říká

V Linuxu pomocí devpts neexistuje žádný soubor hlavního zařízení. Proces na hlavní straně používá deskriptor souboru, který získá otevřením ptmx, ale neexistuje žádný odpovídající uzel zařízení.

Odkazoval autor na /dev/ptmx nebo /dev/pts/ptmx ?

Proč jsou /dev/ptmx a /dev/pts/ptmx nejsou soubory zařízení? Jaké typy souborů to jsou?

Jaký je rozdíl mezi /dev/ptmx a /dev/pts/ptmx ?

Děkuji.

Na 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: -

Přijatá odpověď:

Kontext byl „Pseudoterminál má dvojici pána a otroka“. Když jsem napsal „neexistuje žádný soubor hlavního zařízení“, myslel jsem tím, že v systému souborů není žádný uzel zařízení odpovídající hlavnímu konci pseudoterminálního připojení, na rozdíl od podřízeného konce. Neměl jsem na mysli ani /dev/ptmx nebo /dev/pts/ptmx .

/dev/ptmx a /dev/pts/ptmx jsou uzly zařízení, jak je naznačeno jejich typem ve výstupu ls nebo stat . Mají stejnou hlavní a vedlejší, což znamená, že poskytují přístup ke stejnému zařízení.

Viz odpověď JdeBP na Odkud pochází `/dev/pts/ptmx`? pro historii obou uzlů zařízení (a důvod, proč jsou v dnešní době na Linuxu dva).


Linux
  1. Jak přenosné jsou /dev/stdin, /dev/stdout a /dev/stderr?

  2. Jaké jsou vztahy mezi aktuálním řídicím terminálem a `/dev/tty`?

  3. Linux:Rozdíl mezi /dev/console , /dev/tty a /dev/tty0

  1. Linux:Rozdíl mezi /dev/console, /dev/tty a /dev/tty0?

  2. jádro:deaktivace /dev/kmem a /dev/mem

  3. Rozdíly mezi /dev/sda a /dev/sda1

  1. Linux – uložené v souborech /dev/pts a můžeme je otevřít?

  2. Jak namapovat zařízení /dev/sdX a /dev/mapper/mpathY ze zařízení /dev/dm-Z

  3. Co jsou soubory /dev/zero a /dev/null v Linuxu