关闭

关于伪终端的几点记录

186人阅读 评论(0) 收藏 举报
分类:

下面引用自http://unix.stackexchange.com/questions/21280/difference-between-pts-and-tty的一段话

tty is a native terminal device, the backend is either hardware or kernel emulated.

pty (pseudo terminal device) is a terminal device which is emulated by an other program (example: xtermscreen, or ssh are such programs). pts is the slave part of a pty.

(More info can be found in man pty.)

Short résumé:

pty is created by a process through posix_openpt() (which usually opens the special device /dev/ptmx), and is constituted by a pair of bidirectional character devices:

  1. The master part, which is the file descriptor obtained by this process through this call, is used to emulate a terminal. After some initialization, the second part can be unlocked with unlockpt(), and the master is used to receive or send characters to this second part (slave).

  2. The slave part, which is anchored in the filesystem as /dev/pts/x (the real name can be obtained by the master through ptsname() ) behaves like a native terminal device (/dev/ttyx). In most cases, a shell is started that uses it as a controlling terminal.


    更为细致的描述,可参见《unix环境高级编程》关于终端登录、伪终端登录、伪终端描述那几章.......(以后再补上)

    Tips:通过了解原理后,我们可以限制远程登录用户:

    vim /etc/sysctl.conf
    增加
    kernel.pty.max = 5//限制伪终端为3个
    执行
    sysctl -p

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:19791次
    • 积分:499
    • 等级:
    • 排名:千里之外
    • 原创:31篇
    • 转载:1篇
    • 译文:0篇
    • 评论:2条
    最新评论