美文网首页LinuxLinux学习之路读书笔记
APUE读书笔记-19伪终端(17)

APUE读书笔记-19伪终端(17)

作者: QuietHeart | 来源:发表于2020-10-14 13:46 被阅读0次

远程模式

通过使用ioctl的TIOCREMOTE命令,PTY master可以设置PTY slave为远程模式。尽管FreeBSD 5.2.1, Mac OS X 10.3, 和 Solaris 9使用同样的命令来使能这个特性,在Solaris中ioctl的第3各参数是一个整数,而FreeBSD 和 Mac OS X的相应参数是一个指向整数的指针(Linux 2.4.22 不支持这个命令)。

当设置成这个模式的时候,PTY master告诉PTY slave行规则模块,不要对从PTY master接收到的任何数据进行处理,要忽略slave的termios结构中的canonical/noncanonical标记。Remote模式用于一些类似窗口管理的应用程序,这些应用程序进行它们自己的行编辑。

窗口大小的改变

PTY master上面的进程可以通过ioctl的TIOCSWINSZ命令来设置slave的窗口大小。如果新的大小和当前的大小不一样,那么会给PTY slave的前台进程组发出一个SIGWINCH信号。

信号产生

读写PTY master的进程可以给PTY slave的进程组发送信号。在Solaris 9中,这个通过ioctl的TIOCSIGNAL命令来实现,其第三个参数就是信号的号码。FreeBSD 5.2.1 和 Mac OS X 10.3中,相应的ioctl命令是TIOCSIG,并且第三个参数是一个指向表示信号号码的整数的指针(Linux 2.4.22 也不支持这个ioctl命令)。

译者注

原文参考

参考: APUE2/ch19lev1sec7.html

8、总结

我们通过大致展示如何使用伪终端以及查看一些使用用例来开始本章。我们然后检查在本章4个平台上面打开伪终端的代码,来继续。然后我们使用这些代码给出了一个pty_fork函数,这个函数可以被许多应用程序使用。我们使用这个函数作为后面的pty程序的基础,然后我们通过这个pty程序,展示了伪终端的许多特性。

一般我们在大多数UNIX系统中使用伪终端来提供网络登陆。我们也通过一个用批处理脚本启动交互程序的脚本程序,看到了其他使用伪终端的使用。

译者注

原文参考

参考: APUE2/ch19lev1sec8.html

相关文章

  • APUE读书笔记-19伪终端(17)

    远程模式 通过使用ioctl的TIOCREMOTE命令,PTY master可以设置PTY slave为远程模式。...

  • APUE读书笔记-19伪终端(15)

    (6)通过非交互的方式驱动交互程序 尽管我们觉得pty可以运行任何协作处理进程(甚至一个协作处理进程是交互的进程)...

  • APUE读书笔记-19伪终端(16)

    (7)pty程序的do_driver函数 通过我们自己写的被pty调用的driver程序,我们可以以任何需要的方式...

  • APUE读书笔记-19伪终端(5)

    查看长时间运行的程序的输出 如果我们有一个程序,那个程序运行很长的时间,我们可以在任何一种标准的shell下面将这...

  • APUE读书笔记-19伪终端(2)

    2、概述 伪终端的意思是,这个终端对于应用程序来说表现像是一个终端,但是实际上它并不是一个真正的终端。下面的图就展...

  • APUE读书笔记-19伪终端(9)

    (3)基于Linux的伪终端 Linux提供访问伪终端的BSD方法,所以可以使用上面代码中同样的函数在Linux上...

  • APUE读书笔记-19伪终端(14)

    (4)script程序 使用pty程序,我们可以如下通过shell脚本执行script程序: 当我们运行这个she...

  • APUE读书笔记-19伪终端(3)

    伪终端的典型应用 我们现在将会看看一些伪终端的典型使用。 网络登录服务 伪终端被编译成支持网络登录的服务。典型的例...

  • APUE读书笔记-19伪终端(8)

    (2)基于BSD的伪终端 在基于BSD的系统中,和基于Linux的系统中,我们提供了自己的XSI函数版本。 在我们...

  • APUE读书笔记-19伪终端(6)

    3、打开伪终端设备 SUS尝试统一的伪终端处理函数 我们打开伪终端设备的方式随平台有所不同。Single UNIX...

网友评论

    本文标题:APUE读书笔记-19伪终端(17)

    本文链接:https://www.haomeiwen.com/subject/jhxluktx.html