signal.h使用例程
时间: 2023-08-06 07:01:56 浏览: 149
linux signal 实现自己程序示例
以下是一个使用 signal.h 的简单例程:
```c
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
void signal_handler(int signal_num) {
printf("Received signal %d\n", signal_num);
}
int main() {
// 注册 SIGINT 信号的处理函数
signal(SIGINT, signal_handler);
printf("My PID is %d\n", getpid());
while(1) {
// 等待信号
sleep(1);
}
return 0;
}
```
这个例程中,我们定义了一个 signal_handler() 函数,当接收到 SIGINT 信号时,会输出 "Received signal n" 的信息。在 main() 函数中通过 `signal(SIGINT, signal_handler)` 注册了对 SIGINT 信号的处理函数,然后进入一个无限循环等待信号的到来。当我们在终端中按下 Ctrl+C 时,就会触发 SIGINT 信号,程序会调用 signal_handler() 函数并输出相应的信息。
阅读全文