欢迎您 本站地址:  

C 库函数 - alarm()

C 标准库 - <signal.h> C 标准库 - <signal.h>

描述

alarm 函数是 C 标准库中的一个函数,用于在指定的时间后发送 SIGALRM 信号给调用进程。此函数定义在 <unistd.h> 头文件中。

语法

unsigned int alarm(unsigned int seconds);

参数

返回值

实例

以下是一个使用 alarm 函数设置闹钟,并处理 SIGALRM 信号的示例程序。该程序在 5 秒后发送 SIGALRM 信号,并在捕获到信号时执行相应的信号处理程序。

实例

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

// 信号处理程序
void handle_sigalrm(int sig) {
    printf("Caught signal %d: Alarm triggered\n", sig);
}

int main() {
    // 设置 SIGALRM 的信号处理程序
    signal(SIGALRM, handle_sigalrm);

    // 设置闹钟,在 5 秒后触发 SIGALRM 信号
    alarm(5);
    printf("Alarm set for 5 seconds\n");

    // 无限循环,等待信号
    while (1) {
        printf("Running...\n");
        sleep(1);
    }

    return 0;
}

运行以上示例程序可能的输出结果如下:

Alarm set for 5 seconds
Running...
Running...
Running...
Running...
Running...
Caught signal 14: Alarm triggered

程序设置一个 5 秒的闹钟,并在捕获到 SIGALRM 信号时执行 handle_sigalrm 信号处理程序,输出相应的消息。

解释

注意事项

C 标准库 - <signal.h> C 标准库 - <signal.h>

小库提示

扫描下方二维码,访问手机版。