关于伪终端的几点记录

原创 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

相关文章推荐

用伪终端实现GSM模组多路复用 (转)

摘要: 在Linux上使用不带GPRS协议栈的GSM模块,很容易会陷入僵局:无法使用pppd的同时又发送AT指令 给模块。此文从此角度出发,着手解决问题。 应用: Modem--MCU...
  • zanget
  • zanget
  • 2011年02月24日 15:05
  • 3787

《UNIX环境高级编程》十九伪终端读书笔记

1、概述伪终端是指,对于一个应用程序而言,它看上去想一个终端,但事实上它并不是一个真正的终端。 - 通常,一个进程打开伪终端主设备,然后调用fork。子进程建立一个新的会话,打开一个相应的伪终端...

伪终端pty的原理及使用

1. what is pseudo termina 伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master和slave设备, 对master的操作会反映到slave上)。 例...

浅析ptmx代码级open如何运作ptyp,ttyp,pts伪终端(转载)

1.对ptmx执行open操作,将创建1对tty主从设备. tty_init =>cdev_init(&ptmx_cdev, &ptmx_fops); =>然后创建/dev/ptmx节点[lut...

Linux伪终端 telnet源码

pty_fun.cpp  #include "pty_fun.h"     int ptym_open(char *pts_name, int pts_namesz)  {      ch...

SVR4/4.3BSD与Linux对待伪终端的不同方式

转载 : http://blog.csdn.net/dog250/article/details/5714590 打开伪终端意味着打开了一个“终端对”,这个终端对的其中一个是主终端,另一个是从终端,...
  • DICKJTK
  • DICKJTK
  • 2015年03月18日 19:27
  • 462

伪终端设备之我见

文章来源: http://linux.chinaunix.net/bbs/viewthread.php?tid=918470&page=1#pid6444364 Linux上许多网络服务应用...

用伪终端实现GSM模组多路复用

文章来源: http://zongtongyi.blogbus.com/logs/7672403.htmlMMI 后台实现后,一直没有考虑如何通过多路复用协议和GSM 模组通讯,使得可以在通过GP...

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

最近在看telnet终端登陆的相关程序,了解到了telnet登陆的进程安排。对照UNIX环境高级编程对其中使用伪终端的部分进行了一些学习。...

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

(1)在本机上登录字符界面或者X11图形界面均为tty终端(2)通过telnet/ssh远程登录或者在X11中生成一个XTERM的终端,均为虚拟终端PTS。如:[lujinhong@localhost...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于伪终端的几点记录
举报原因:
原因补充:

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