gpt4 book ai didi

c - 如何通过管道发送文件结尾而不关闭管道?

转载 作者:行者123 更新时间:2023-12-02 05:34:02 25 4
gpt4 key购买 nike

当我打开运行 bash 的终端并输入以下内容时:

cat\nfoo\n^Decho bar\n

(其中\n 是 Enter,^D 是 control-d)我得到:

foo
bar

即,^D 导致 cat 退出,但我仍然可以输入更多内容。
我如何通过 C 中的 (unix) 管道发送相同的输入(特别是文件结尾)?

最佳答案

xterm 不会通过 pipe(7) 使用 shell 和实用程序执行输入。相反,它使用 Unix PTY 框架(请参阅 pty(7)openpty(3)forkpty(3)posix_openpt (3)pts(4) 联机帮助页了解一些信息)。 PTY 框架允许任何进程充当终端“主机”(例如,telnetd(8)sshd(8)xterm(1) code> 等),任何进程都可以连接到终端从属设备,以提供就像坐在控制台前一样的交互环境。

Advanced Programming in the Unix Environment, 2nd edition预订者 Stevens and Rago有一个关于使用伪终端设备控制从程序的精彩章节 - 包括一个优秀的小 pty 程序,它允许以类似于 expect(1) 的方式驱动“交互式”程序code>,但使用 C 而不是 tcl

关于c - 如何通过管道发送文件结尾而不关闭管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8720947/

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