Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Linux内核-获取免费信号号_C_Linux_Linux Kernel_Kernel Module_Signal Handling - Fatal编程技术网

C Linux内核-获取免费信号号

C Linux内核-获取免费信号号,c,linux,linux-kernel,kernel-module,signal-handling,C,Linux,Linux Kernel,Kernel Module,Signal Handling,我想实现从内核到用户模式的信号链接。目前,我使用一个自由选择的信号号码。但我认为另一个模块也可能使用相同的方法 因此,我正在寻找一个内核宏/函数/变通方法,以找到一个未使用的信号号 在用户模式方面,我希望使用sigaction(一个无符号,&sig,NULL)和在内核模式端发送信号信息(免费信号、发送信号、任务) 编辑: 我明白了,我必须补充一些细节:我总共需要六个不同的信号。这需要告诉应用程序及时地从不同的映射内存读取或写入 在这一点上,一个单一的信号是不够的。如果内核模块没有提供信号号,则

我想实现从内核到用户模式的信号链接。目前,我使用一个自由选择的信号号码。但我认为另一个模块也可能使用相同的方法

因此,我正在寻找一个内核宏/函数/变通方法,以找到一个未使用的信号号

在用户模式方面,我希望使用
sigaction(一个无符号,&sig,NULL)和在内核模式端
发送信号信息(免费信号、发送信号、任务)


编辑:

我明白了,我必须补充一些细节:我总共需要六个不同的信号。这需要告诉应用程序及时地从不同的映射内存读取或写入


在这一点上,一个单一的信号是不够的。如果内核模块没有提供信号号,则必须由应用程序完成。同样的问题:如何在用户陆地端获得免费?SIG_USR1如何?如果它是字符设备驱动程序,默认情况下使用
SIGIO
,但实现一个ioctl,让用户空间程序设置一个不同的;与
O_ASYNC
描述符的方式类似。通常,用户空间希望使用实时信号,因为这些信号与“标准”信号不同,是排队的。你说一个信号是不够的。您是否考虑过只使用一个信号,但使用该信号传递附加信息?这是我将要检查的一点。。。