使用預設操作提升 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