pty 终端数据包模式 TIOCPKT

发布于 2024-12-05 07:27:00 字数 306 浏览 1 评论 0原文

如果我启动一个终端,我如何知道它以什么模式启动?谁决定呢?我可以以数据包模式启动我的终端吗,即 TIOCPKT

我遇到了这个数据包模式链接,其中显示:数据包模式通过以下方式启用在主端推送 pckt 模块。 - 我不太明白这一点。

If I start a terminal, how do I know what mode it starts in? Who decides that? Can I start my terminal in packet mode i.e. TIOCPKT

I came across this Packet mode link which says: Packet mode is enabled by pushing the pckt module on the master-side. - I do not understand this exactly.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暗地喜欢 2024-12-12 07:27:00

您引用的链接适用于 SCO Unix,它具有 STREAMS I/O 子系统。 这里有关于 STREAMS 的很好的概述 (适用于 Solaris,但相同的概念也适用于其他 *nix)。

手册页告诉您必须将 pckt 模块推送到流上,这是通过使用 I_PUSH 命令。上面的第一个链接应该使这个概念更加清晰,因为它描述了 STREAMS 的工作原理。

但遗憾的是,Linux 不支持 STREAMS。要在 Linux 上启用 pty 的数据包模式,请使用 TIOCPKT 调用 ioctl(),如第一个链接中所示。

创建新 pty 时默认为正常(非数据包)模式。

The link you refer to is for SCO Unix, which has the STREAMS I/O subsystem. There is a pretty good overview of STREAMS here (its for Solaris, but same concepts apply to other *nixes).

The manual page tells you that you have to push the pckt module onto the stream, which is done with an ioctl() call with the I_PUSH command. The first link above should make this concept clearer, as it describes how STREAMS works.

But alas, Linux does not support STREAMS. To enable packet mode of a pty on linux, you call ioctl() with TIOCPKT as in the first link of yours.

The default when you create a new pty is normal (non packet) mode.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文