歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Unix系統alarm函數詳解

Unix下編程很容易遇到這個函數,我們可以先看下這個函數的介紹,用man工具,man alarm。

對於Unix系統的聯機幫助中關於alarm函數的介紹如下:

  1. #include <unistd.h> 
  2. unsigned int alarm(unsigned int seconds); 

它的主要功能是設置信號傳送鬧鐘。其主要功能用來設置信號SIGALRM在經過seconds指定的秒數後傳送給目前的進程,如果在定時未完成的時間內再次調用了alarm函數,則後一次定時器設置將覆蓋前面的設置,當seconds設置為0時,定時器將被取消。它返回上次定時器剩余時間,如果是第一次設置則返回0。

舉個簡單的例子:

  1. #include <unistd.h> 
  2. #include <stdio.h> 
  3. #include <stdlib.h> 
  4. #include <signal.h> 
  5.  
  6. void sig_alarm() 
  7.     exit(0); 
  8. int main(int argc, char *argv[]) 
  9.     signal(SIGALRM, sig_alarm); 
  10.     alarm(10); 
  11.     sleep(15); 
  12.     printf("Hello World!\n"); 
  13.     return 0; 

程序在10s後結束,並未輸出Hello World!

Copyright © Linux教程網 All Rights Reserved