如何使用C语言中的signal 信号函数

2023-12-20 16:20:24

在C语言中,`signal`函数用于注册信号处理程序,即在接收到特定信号时执行指定的处理函数。下面是`signal`函数的基本用法:

```c

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

void signalHandler(int signal) {
? ? printf("Received signal %d\n", signal);
? ? // 执行信号处理的逻
}

int main() {
? ? // 注册信号处理
? ? if (signal(SIGINT, signalHandler) == SIG_ERR) {
? ? ? ? perror("Unable to register signal handler");
? ? ? ? exit(EXIT_FAILURE);
? ? }

? ? printf("Sending SIGINT signal...\n");
? ? raise(SIGINT); ?// 发送SIGINT信号 ? ?return 0;
}
```

示例中,我们首先定义了一个名为`signalHandler`的信号处理函数。

然后在`main`函数中使用`signal`函数来注册`signalHandler`函数,以处理`SIGINT`信号。当程序运行时,它会发送`SIGINT`信号,然后`signalHandler`函数将被调用来处理这个信号。

文章来源:https://blog.csdn.net/xcksj666/article/details/135105098
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。