gpt4 book ai didi

C Linux 信号处理

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

我是操作系统的新手,在学习 Linux 信号处理时遇到了一些问题。

在 Linux 中,如果信号在系统调用期间到达,例如 pause(),程序将切换到内核模式并运行信号处理程序。然后根据处理函数,程序将执行函数告诉它做的任何事情。如果系统调用很重要并且不能/不应该被打断怎么办? (或者是否存在这样的不能被信号中断的系统调用?)

此外,如果内核正在处理另一个较早到达的信号时信号到达,会发生什么情况?以后会捕获新信号吗?

非常感谢!

最佳答案

你错了。信号处理程序不在内核模式下运行,而是在用户模式下运行。如果普通应用程序可以获得内核模式访问权限,这将是一个主要的权限升级错误。

您还对系统调用被中断感到疑惑。出于同样的原因,这不是问题:信号仅影响应用程序,而不影响处理系统调用的内核。

关于C Linux 信号处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35126081/

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