在更改终端设置的代码(它嵌入python,而python又使用一些终端操作模块)中,在我通过Ctrl-\发送SIGQUIT到进程后,更改的状态仍然存在。
在启动时保存终端设置,然后注册将恢复这些设置的SIGQUIT处理程序是否安全?如果不安全,在最坏的情况下会发生什么?
发布于 2016-10-21 07:14:16
信号处理程序通常应该是精干的,不需要做太多的工作。您不应该从信号处理程序中调用非异步安全函数。异步信号安全函数。因此,如果termios代码包含非AS函数,则不建议从信号处理程序恢复终端设置(尽管您将处理SIGQUIT)。
这个怎么样:
fork()
在signal
的手册页面中被列为安全的。为什么不分叉一个子进程,execv
另一个程序来恢复设置呢?
https://stackoverflow.com/questions/40169308
复制相似问题