首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行带有"exec()“函数的more会破坏bash中的换行

执行带有"exec()“函数的more会破坏bash中的换行
EN

Stack Overflow用户
提问于 2013-06-24 17:42:00
回答 1查看 105关注 0票数 0

我有一个练习来编写一个程序,它将执行以下管道处理:

代码语言:javascript
复制
ls -la | grep "^d" | more

我使用3个子进程和stdio重定向来连接它们之间的管道。

程序成功完成后,它显示了良好的结果,没有显示错误或其他任何东西,而且当我使用cat而不是more时,执行后一切都正常工作,有没有可能更多地更改了一些系统值,并且不再更改它们?

EN

回答 1

Stack Overflow用户

发布于 2013-06-24 18:28:31

很可能是more在TTY上关闭了echo和规范模式(参见man 3 termios),并且在退出之前永远不会再打开它们(要么是因为它在没有机会退出的情况下被杀死,要么是因为它认为自己没有连接到TTY)。你可以使用gdb连接到more来找出为什么它变得越来越快,或者你可以简单地在退出之前自己重置终端。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17272404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档