通过以下代码示例来理解alarm()函数的作用:
#include
#include
#include
void handler(int signo) // 信号处理函数
{
printf("Received alarm signal.\n");
}
int main()
{
signal(SIGALRM, handler); // 注册信号处理函数
alarm(5); // 设置定时器,5秒后发送SIGALRM信号
printf("Start counting down.\n");
sleep(10); // 进程暂停10秒
printf("Count down finished.\n");
return 0;
}
运行该代码后,程序将先输出“Start counting down.”,然后等待5秒后输出“Received alarm signal.”,随后输出“Count down finished.”。在该代码中,我们通过调用alarm()函数设置了一个5秒的定时器,在信号处理函数中输出了提示信息,再使用信号处理函数来处理接收到的SIGALRM信号。这样就可以通过代码实例来理解alarm()函数的用法及其意义了。