gpt4 book ai didi

c - 信号从内核发送到用户空间是实时的吗?

转载 作者:行者123 更新时间:2023-11-30 16:50:15 24 4
gpt4 key购买 nike

我正在编写一个驱动程序,并尝试从内核发送一些东西到用户空间,我要做的(这是我知道的唯一方法),是将信号从内核发送到用户空间,然后调用 signal(... )在用户空间的某个地方,它将捕获它并使用 ioctl(...),现在是内核将东西发送到用户空间的时间。

我的问题是,当信号发送时,它必须等待util用户空间调用signal(),然后做一些事情?

还有其他方式在内核和用户空间之间进行通信吗?

最佳答案

您是否考虑过让您的驱动程序仅在文件描述符上发送一些字节(例如一些 socket(7)pipe(7) 或字符设备..)?或者使用netlink(7) ?或与systemd互动?

一种常见的方法是在用户空间中让一些辅助进程(在引导时启动)处理该文件描述符。该程序可能会使用一些多路复用系统调用,例如 poll(2) .

请注意,当您的驱动程序正在运行时(并且您尝试发送一些信号),当前任务可能不是使用您的驱动程序的进程。因此从内核空间发送信号可能会很棘手。

关于c - 信号从内核发送到用户空间是实时的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42266510/

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