首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >恢复信号处理程序中的终端设置(termios)

恢复信号处理程序中的终端设置(termios)
EN

Stack Overflow用户
提问于 2016-10-21 05:53:33
回答 1查看 374关注 0票数 0

在更改终端设置的代码(它嵌入python,而python又使用一些终端操作模块)中,在我通过Ctrl-\发送SIGQUIT到进程后,更改的状态仍然存在。

在启动时保存终端设置,然后注册将恢复这些设置的SIGQUIT处理程序是否安全?如果不安全,在最坏的情况下会发生什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-21 07:14:16

信号处理程序通常应该是精干的,不需要做太多的工作。您不应该从信号处理程序中调用非异步安全函数。异步信号安全函数。因此,如果termios代码包含非AS函数,则不建议从信号处理程序恢复终端设置(尽管您将处理SIGQUIT)。

这个怎么样:

fork()signal的手册页面中被列为安全的。为什么不分叉一个子进程,execv另一个程序来恢复设置呢?

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

https://stackoverflow.com/questions/40169308

复制
相关文章

相似问题

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