下面是小编为大家整理的pty和tty有何区别(范文推荐),供大家参考。
pty 和 TTY 有何区别 pty 和 TTY 有何区别? 什么意思
说用户从 TTY/2 端口登陆, 有什么用? 这是什么端口, 有一些详细的解释吗? 控制终端” , 具体是什么意思?
NAME
tty - controlling terminal
DESCRIPTION
The
file
/dev/tty
is
a character file with major number 5 and minor
number 0,
usually of mode 0666 and owner. group root. tty.
It is a
syn-
onym for the controlling terminal of a process,
if any.
In
addition
to
the ioctl()
requests supported by the device that tty
refers to,
the following ioctl()
request is supported:
TIOCNOTTY
Detach the current process from its
controlling
terminal,
and
remove
it
from its current process group,
without attaching it
to a new process group (that is,
set its
process
group
ID
to
zero) .
This
ioctl()
call only works on file descriptors con-
nected to /dev/tty;
this is used by daemon processes
when
they
are
invoked
by
a user at a terminal.
The process attempts to
open /dev/tty;
if the open succeeds,
it detaches itself from the
terminal
by
using
TIOCNOTTY,
while
if the open fails,
it is
obviously not attached to a terminal and does not need to detach
itself.
FILES
/dev/tty
看不明白, 有一些具体应用马?
george16 回复于:
2006-02-27 04: 24:53
tty 是 Teletype 的缩写(转)
终端是一种字符型设备, 它有多种类型, 通常使用 tty 来简称各种类型的终端设备。
tty 是 Teletype 的缩写。
Teletype 是最早出现的一种终端设备, 很象电传打字机 (或者说就是 ), 是由 Teletype公司生产的。
设备名放在特殊文件目录/dev/下, 终端特殊设备文件一般有以下几种:
1. 串行端口终端(/dev/ttySn)
串行端口终端(Serial Port Terminal)
是使用计算机串行端口连接的终端设备。
计算机把每个串行端口都看作是一个字符设备。
有段时间这些串行端口设备通常被称为终端设备, 因为那时它的最大用途就是用来连接终端。
这些串行端口所对应的设备名称是/dev/tts/0(或/dev /ttyS0)、 /dev/tts/1 (或/dev/ttyS1)
等, 设备号分别是 (4, 0)、
(4, 1)
等, 分别对应于 DOS 系统下的 COM1、
COM2 等。
若要向一个端口发送数据, 可以在命令行上把标准输出重定向到这些特殊文件名上即可。
例如, 在命令行提示符下键入:
echo test > /dev/ttyS1会把单词” test” 发送到连接在 ttyS1(COM2)
端口的设备上。
2. 伪终端(/dev/pty/)
伪终端(Pseudo Terminal)
是成对的逻辑终端设备, 例如/dev/ptyp3和/dev/ttyp3(或着在设备文件系统中分别是 /dev/pty/m3 和/dev/pty/s3)。
它们与实际物理设备并不直接相关。
如果一个程序把ttyp3 看作是一个串行端口设备, 则它对该端口的读/写操作会反映在该逻辑终端设备对的另一个上面(ttyp3)。
而 ttyp3 则是另一个程序用于读写操作的逻辑设备。
这样, 两个程序就可以通过这种逻辑设备进行互相交流, 而其中一个使用 ttyp3 的程序则认为自己正在与一个串行端口进行通信。
这很象是逻辑设备对之间的管道操作。
对于 ttyp3(s3), 任何设计成使用一个串行端口设备的程序都可以使用该逻辑设备。
但对于使用 ptyp3 的程序, 则需要专门设计来使用ptyp3(m3)
逻辑设备。
例如, 如果某人在网上使用 telnet 程序连接到你的计算机上, 则telnet 程序就可能会开始连接到设备 ptyp2(m2)
上(一个伪终端端口上)。
此时一个 getty 程序就应该运行在对应的 ttyp2(s2)
端口上。
当 telnet 从远端获取了一个字符时, 该字符就会通过 m2、 s2 传递给 getty 程序, 而 getty 程序就会通过 s2、 m2 和 telnet 程序往网络上返回” login: ” 字符串信息。
这样, 登录程序与 telnet 程序就通过“伪终端” 进行通信。
通过使用适当的软件, 就可以把两个甚至多个伪终端设备连接到同一个物理串行端口上。
在使用设备文件系统(device filesystem)
之前, 为了得到大量的伪终端设备特殊文件, HP-UX AIX 等使用了比较复杂的文件名命名方式。
3. 控制终端(/dev/tty)
如果当前进程有控制终端(Controlling Terminal)
的话, 那么/dev/tty 就是当前进程的控制终端的设备特殊文件。
可以使用命令” ps – ax” 来查看进程与哪个控制终端相连。
对于你登录的
shell, /dev/tty 就是你使用的终端, 设备号是(5, 0)。
使用命令” tty” 可以查看它具体对应哪个实际终端设备。
/dev/tty 有些类似于到实际所使用终端设备的一个联接。
4. 控制台终端(/dev/ttyn,
/dev/console)
在 UNIX 系统中, 计算机显示器通常被称为控制台终端(Console)。它仿真了类型为 Linux 的一种终端(TERM=Linux), 并且有一些设备特殊文件与之相关联:
tty0、 tty1、 tty2 等。
当你在控制台上登录时, 使用的是 tty1。
使用 Alt+[F1—F6]组合键时, 我们就可以切换到 tty2、 tty3 等上面去。
tty1 – tty6 等称为虚拟终端, 而 tty0 则是当前所使用虚拟终端的一个别名, 系统所产生的信息会发送到该终端上。
因此不管当前正在使用哪个虚拟终端, 系统信息都会发送到控制台终端上。
你可以登录到不同的虚拟终端上去, 因而可以让系统同时有几个不同的会话期存在。
只有系统或超级用户 root 可以向/dev/tty0 进行写操作,
5. 其它类型 还针对很多不同的字符设备存在有很多其它种类的终端设备特殊文件。
例如针对 ISDN 设备的/dev/ttyIn 终端设备等。
这里不再赘述
推荐访问:pty和tty有何区别 有何区别 推荐 pty