gpt4 book ai didi

linux - 在伪 tty 上运行 slattach

转载 作者:太空狗 更新时间:2023-10-29 12:37:25 26 4
gpt4 key购买 nike

我尝试在 linux 操作系统上通过一对伪 tty 打开网络连接。

# slattach -v /dev/ptmx
cslip started on /dev/ptmx interface sl0

好的,这就是伪 tty 的“创建端”。

我可以查看/dev/pts 并在那里找到新的 pty。如果我现在尝试在这一侧也使用 slattach,我会得到:

slattach -v /dev/pts/3
slattach: tty_open(/dev/pts/3, RW): Input/output error

我用strace追踪:

28 5505  write(1, "slattach: tty_open: trying to op"..., 46) = 46
29 5505 open("/dev/pts/3", O_RDWR|O_NONBLOCK) = -1 EIO (Input/output error)
30 5505 write(2, "slattach: tty_open(/dev/pts/3, R"..., 55) = 55
31 5505 exit_group(3)

所有这一切都发生在不同的 ubuntu 发行版上,在 10.04 和 11.04 上测试,都失败了。

我做错了什么?

最佳答案

您可能需要查看手册页 pty(7)

基本上,/dev/ptmx 使用 Unix 98 伪终端接口(interface)并要求您的程序使用 grantpt(3) 和 unlockpt(3)。在这里,slattach(打开/dev/ptmx 的那个,而不是另一个)不会这样做,任何试图打开与主关联的从属伪终端的程序都会失败,正如您所经历的那样。

您可以通过使用外部重载 open() 调用来强制 slattach 执行 grantpt() 和 unlockpt()常规,see this example

关于linux - 在伪 tty 上运行 slattach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7487681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com