gpt4 book ai didi

linux - 信号如何工作

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

我研究信号已经有一段时间了,但我想了解它们是如何工作的,我需要对这个问题有一些深入的回答

例如,如果一个进程使用 libc 函数向另一个进程发送信号。

1-这个进程是否可以不进入内核空间就可以正常发送信号,还是必须要发送信号才能进入内核空间?

2-如果它必须首先进入内核,那么执行该操作的步骤是什么?

3-这些信号处理程序在哪里?它们存在于用户空间还是内核空间?默认信号处理程序如何?

4-当进程接收到信号时?它是否必须通过内核才能执行信号处理程序?

最佳答案

  • 1 发送信号最终由系统调用完成。所有系统调用都由内核执行。

  • 2 不确定你想去多深。第一步是让内核确保您可以发送信号,最后一步是让内核自行处理或将信号传递给目标进程。

  • 3 除内核考虑的 SIGSTOP 和 SIGKILL 外,大多数信号处理程序都在用户空间中。

  • 4 没有,没有这样的要求。该过程忽略或处理该信号。处理程序是默认的或自定义的。

关于linux - 信号如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25490646/

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