使用默认操作提升 SIGALARM
使用 alarm
,用户可以在指定的间隔后调度 SIGALARM
信号。如果用户没有阻止,忽略或指定此信号的显式信号处理程序,则此信号的默认操作将在到达时执行。SIGALARM
的每个规范默认操作是终止进程:
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char** argv)
{
printf("Hello!\n");
// Set the alarm for five second
alarm(5); // Per POSIX, this cannot fail
// Now sleep for 15 seconds
for (int i = 1; i <= 15; i++)
{
printf("%d\n", i);
sleep(1);
}
// And print the message before successful exit
printf("Goodbye!\n");
return EXIT_SUCCESS;
}
这输出:
Hello!
1
2
3
4
5
[2] 35086 alarm ./a.out