linux 设置信号量处理函数
时间: 2023-07-26 18:32:51 浏览: 200
在 Linux 中,可以使用 signal() 函数来设置信号量处理函数。其函数原型如下:
```c
void (*signal(int sig, void (*handler)(int))) (int);
```
其中,sig 表示要设置处理函数的信号量编号,handler 表示要设置的处理函数。例如,要设置 SIGINT 信号的处理函数为 my_handler 函数,可以使用以下代码:
```c
void my_handler(int sig)
{
// 处理 SIGINT 信号
printf("Received SIGINT signal.\n");
}
int main()
{
// 设置 SIGINT 信号的处理函数为 my_handler 函数
signal(SIGINT, my_handler);
// 程序主体部分
while (1) {
// ...
}
return 0;
}
```
在上面的代码中,我们首先定义了一个 my_handler 函数来处理 SIGINT 信号,然后在程序主体部分调用 signal() 函数来将 SIGINT 信号的处理函数设置为 my_handler 函数。当程序接收到 SIGINT 信号时,就会自动调用 my_handler 函数来处理这个信号。
阅读全文