当前位置: 技术问答>linux和unix
linux 下信号机制问题
来源: 互联网 发布时间:2016-04-25
本文导语: 相关代码如下: static void sig_alrm(int); int main() { ..... signal(SIGALRM, sig_alrm); ..... } static void sig_alrm(int signo) { printf("in sig_alrm.n"); return; } 这是延时中断。 我想问的是,sig_alrm函数中...
相关代码如下:
这是延时中断。
我想问的是,sig_alrm函数中的形参int signo是干什么用的?
在信号处理函数中没有对signo处理的代码。
我在其他地方也没有看到。
谢谢。
static void sig_alrm(int);
int main()
{
.....
signal(SIGALRM, sig_alrm);
.....
}
static void sig_alrm(int signo)
{
printf("in sig_alrm.n");
return;
}
这是延时中断。
我想问的是,sig_alrm函数中的形参int signo是干什么用的?
在信号处理函数中没有对signo处理的代码。
我在其他地方也没有看到。
谢谢。
|
sig_alrm其实就是个callback函数,(通常来说callback函数都要带参数的,signo就是这样的参数)
有可能不同的信号跟相同的callback函数挂钩,这个时候
就可以利用signo来根据不同的发生信号来作不同的动作。
有可能不同的信号跟相同的callback函数挂钩,这个时候
就可以利用signo来根据不同的发生信号来作不同的动作。