关于伪终端的几点记录

原创 2015年11月19日 17:53:09

下面引用自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

Linux终端,伪终端概念详解之tty,pty等

Linux终端,伪终端概念详解之tty,pty等     终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。Teletype是最早出...
  • chenglinhust
  • chenglinhust
  • 2013年01月12日 12:40
  • 2064

《UNIX环境高级编程》笔记--伪终端

1.什么是伪终端 伪终端对于一个程序来说,看上去像一个终端,但事实上并不是一个真正的终端。下图显示了使用伪终端时相关进程 的典型结构。 1.通常一个进程打开伪终端主设备,然后调用fork...
  • TODD911
  • TODD911
  • 2014年03月10日 16:57
  • 5421

Linux中的伪终端编程

apac_command.c  do_remotecmddev  -- forkpty,,,,,,,,pppd   get_pty  -- mfd = open("/dev/ptmx", O_RDWR...
  • eydwyz
  • eydwyz
  • 2017年04月17日 10:35
  • 675

终端、虚拟控制台与伪终端

(1)在本机上登录字符界面或者X11图形界面均为tty终端(2)通过telnet/ssh远程登录或者在X11中生成一个XTERM的终端,均为虚拟终端PTS。如:[lujinhong@localhost...
  • jediael_lu
  • jediael_lu
  • 2013年02月19日 15:15
  • 2919

linux 伪终端 随笔

初步接触伪终端编程,根据公司一个产品,自己手写了一个示例程序,非常不完善,仅仅是一个随笔,学习下伪终端。 作为一个服务端程序,类似于代理,可记录用户行为。 #include #inclu...
  • wangcg123
  • wangcg123
  • 2016年12月14日 11:52
  • 352

终端主从设备

这两天一直在叽叽复叽叽的念叨着伪终端的相关机制。一直不懂,或者是很多东西在脑子里横冲直撞。好不容易走到了最后,就这么放弃实属可惜。但是把一大本书看下来,的确也花了我很多的时间和精力,不能就因为这么点坎...
  • B10090411
  • B10090411
  • 2016年11月11日 19:08
  • 352

Linux用户态编程-伪终端(一)

最近在看telnet终端登陆的相关程序,了解到了telnet登陆的进程安排。对照UNIX环境高级编程对其中使用伪终端的部分进行了一些学习。...
  • happyAnger6
  • happyAnger6
  • 2016年01月24日 19:07
  • 2206

终端驱动原理篇

第十四章  Linux终端设备驱动 转载声明:本文出于学习目的转载,原文链接地址:http://blog.csdn.net/aaronychen/article/details/2072186 本...
  • xian_2015
  • xian_2015
  • 2015年10月26日 16:04
  • 948

telnet网络登录过程(涉及伪终端)

telnet网络登录过程(涉及伪终端)  1、 虚拟终端或串口终端的数目是有限的,虚拟终端一般就是/dev/tty1~/dev/tty6六个,串口终端的数目也不超过串口的数目。然而网...
  • chenglinhust
  • chenglinhust
  • 2013年01月12日 14:41
  • 1457

telnet网络登录过程(涉及伪终端)

转自 http://blog.csdn.net/chdhust/article/details/8496199 telnet网络登录过程(涉及伪终端) 1、 虚拟终端或串口终端的数...
  • qingkongyeyue
  • qingkongyeyue
  • 2017年07月02日 16:38
  • 322
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于伪终端的几点记录
举报原因:
原因补充:

(最多只允许输入30个字)