gpt4 book ai didi

linux - 在信号处理程序中恢复终端设置 (termios)

转载 作者:太空宇宙 更新时间:2023-11-04 12:41:11 50 4
gpt4 key购买 nike

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

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

最佳答案

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

这个怎么样:

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

关于linux - 在信号处理程序中恢复终端设置 (termios),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40169308/

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