linux用户空间向内核,linux – 从内核向用户空间发送信号

要从内核到用户空间获取信号,请在用户空间和内核空间代码中使用以下代码,如下所示:

用户空间应用:

signal(SIGIO,&signal_handler_func);

fcntl(fd,F_SETOWN,getpid());

oflags = fcntl(fd,F_GETFL);

fcntl(fd,F_SETFL,oflags | FASYNC);

定义signal_handler_func函数:

void signal_handler_func (int sig)

{

//handle the action corresponding to the signal here

}

内核空间模块:

int ret = 0;

struct siginfo info;

memset(&info,sizeof(struct siginfo));

info.si_signo = SIG_TEST;

info.si_code = SI_QUEUE;

info.si_int = 1234;

send_sig_info(SIG_TEST,&info,t);//send signal to user land

t是用户应用程序的PID.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值