pty(4) BSD-style and System V-style compatibility pseudo-terminal driver


device pty


The driver provides support for the traditional BSD naming scheme that was used for accessing pseudo-terminals. When the device /dev/ptyXX is being opened, a new terminal shall be created with the pts(4) driver. A device node for this terminal shall be created, which has the name /dev/ttyXX

The driver also provides a cloning System V /dev/ptmx device.

New code should not try to allocate pseudo-terminals using this interface. It is only provided for compatibility with older C libraries that tried to open such devices when posix_openpt2 was being called.


The BSD-style compatibility pseudo-terminal driver uses the following device names:

Pseudo-terminal master devices.
Pseudo-terminal slave devices.
Control device, returns a file descriptor to a new master pseudo-terminal when opened.




A pseudo-terminal driver appeared in BSD 4.2


Unlike previous implementations, the master and slave device nodes are destroyed when the PTY becomes unused. A call to stat(2) on a nonexistent master device will already cause a new master device node to be created. The master device can only be destroyed by opening and closing it.

The driver cannot be unloaded, because it cannot determine if it is being used.