signal函数用法
时间: 2023-08-05 08:07:33 浏览: 94
signal函数的使用
3星 · 编辑精心推荐
signal函数是用于设置信号处理程序的函数,其用法如下:
```c
void (*signal(int sig, void (*func)(int)))(int);
```
其中,sig表示信号的编号,func表示信号处理程序的函数指针。
signal函数的作用是为指定信号建立一个信号处理程序,当该信号发生时,系统就会调用信号处理程序来处理该信号。信号处理程序可以是用户自定义的函数,也可以是系统默认的处理程序。
例如,下面的代码将为SIGINT信号(即Ctrl+C)建立一个信号处理程序:
```c
#include <stdio.h>
#include <signal.h>
void sigint_handler(int sig)
{
printf("Caught SIGINT signal!\n");
}
int main()
{
signal(SIGINT, sigint_handler);
while(1)
{
printf("Waiting for SIGINT signal...\n");
sleep(1);
}
return 0;
}
```
在上面的例子中,当用户按下Ctrl+C时,系统就会发送SIGINT信号,然后调用我们自定义的信号处理程序sigint_handler来处理该信号。信号处理程序中的代码可以根据需要来编写,例如记录日志、关闭文件、释放资源等。
阅读全文