gpt4 book ai didi

linux - 如何使用 SIGRTMAX 和 SIGRTMIN?

转载 作者:太空狗 更新时间:2023-10-29 11:43:25 24 4
gpt4 key购买 nike

我确实知道信号是如何在 POSIX 中定义的实时信号。但是我很想知道如何使用这些信号或者这些信号是如何产生的?就像在无效内存引用上生成 SIGSEGV 一样,在键盘中断(如 ctrl+c)上生成 SIGINT。

SIGRTMAX 和 SIGRTMIN 等信号是如何生成和使用的?

最佳答案

实际上我确实弄清楚了如何为 SIGRTMAX 和 SIGRTMIN 生成信号。

如果以后有人遇到这个,那么-

首先您使用struct sigaction ,根据您的要求设置成员。将 sa_handler 设置为您想要处理信号生成的函数。

要将其付诸实践,您可以使用函数 sigaction() 传递 linux 手册中指定的参数。

现在您可以使用 struct sigevent 设置其中的成员来指定要处理的信号编号以及您如何发送通知。

这样您就完成了设置,现在您需要创建一个现象或事件来生成信号,例如时间到期。

这可以通过 timer_create() 获取计时器处理程序来完成,这会将您的 sigevent 与处理程序相关联。

然后使用 struct itimerspec 设置过期间隔,然后使用 timer_settime() 将过期与处理程序相关联。

所以现在过期与处理程序关联,时间处理程序与 sigevent 关联,sigevent 将该信号重定向到由 sigaction 设置的处理程序

关于linux - 如何使用 SIGRTMAX 和 SIGRTMIN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31882797/

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