linux C信号处理
时间: 2023-07-20 08:09:13 浏览: 150
在 Linux C 中,信号处理是通过使用 signal() 函数来实现的。这个函数有三个参数,分别是信号的编号、一个指向信号处理函数的指针以及一个用于控制信号行为的标志位。
例如,下面的代码演示了如何使用 signal() 函数来处理 SIGINT 信号:
```c
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void sigint_handler(int sig)
{
printf("Caught SIGINT, exiting...\n");
exit(0);
}
int main()
{
printf("Type Ctrl+C to send a SIGINT signal\n");
// 设置 SIGINT 的信号处理函数
signal(SIGINT, sigint_handler);
// 无限循环,等待信号
while (1)
{
// do nothing
}
return 0;
}
```
在这个例子中,当用户按下 Ctrl+C 时,会发送一个 SIGINT 信号,程序会捕获这个信号并执行 sigint_handler() 函数中的代码。在这个例子中,我们只是简单地输出一条消息并退出程序,但实际应用中可以根据具体需要进行更复杂的操作。
阅读全文
相关推荐















