我问这个问题很愚蠢(“只是RTFM!”),但是我对这个手册页没有任何意义。描述openpty()
的man page blurb:
这是什么意思?
我的猜测是openpty()
试图找到与进程树中更高一级的终端仿真器相对应的伪终端(某些n-parent,即程序在其中运行的终端仿真器,如果有的话)。但是,文档使它听起来像openpty()
只是从/dev/pts
中任意获取了一些东西。
另外,“可用”在这里是什么意思?在伪终端的上下文中,“可用”似乎有多种含义(例如,内核将让终端仿真器创建伪终端,可以读取/写入伪终端)。
最佳答案
而已。
可用只是意味着当前未被其他进程使用。
这是什么意思?
作为返回,您将收到处理伪术语,其从属部分,其主要部分及其文件名所需的所有数据。
伪术语通过实现终端输入/输出语义来模拟真实终端。它们在许多情况下用于模拟连接的终端(例如,考虑通过ssh登录到远程系统时发生的情况)或控制某些交互式程序(例如设计必须在其中运行shell的GUI终端) )。
当然不是那种情况,终端和 session 管理一开始就很难处理。
- - -编辑 - - -
真正的终端。它以前如何?在早期(不是很早,恐龙世界就更令人恐惧)连接到我们使用终端机,带键盘的简单设备,屏幕(无图形)以及一些小的硬件和软件来管理线路的系统被插入计算机的插头之一。因此,在OS中需要管理来自终端的所有那些输入/输出:在需要时将键入的字符回显到屏幕,缓冲输入/输出以能够在命令行上删除字符,等等。该OS部分通过终端驱动程序,表示为/dev/ttyXXX
之类的设备。一台这样的物理设备,一台OS终端设备。
如今,这种物理设备已不复存在,除了在某些特殊情况下,例如服务器控制台(我的意思是直接连接到计算机的控制台!,或者在引导时所有这些奇怪的消息以文本模式出现时的屏幕),等等。现在,我们通过许多不同的虚拟事物(当今的计算机世界是关于虚拟性)连接到OS的,例如模仿物理终端行为的GUI终端。然后,旧物理线的两端部分用伪终端表示,该伪终端分为两部分:主节点和从节点。从站代表应用程序所见的操作系统中的旧部分。主机代表了旧物理线路的插头,因此它现在作为软件提供,让您可以编写一个应用程序,该应用程序可以对该虚拟线路进行输入/输出控制,并像真实终端一样工作。