佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > linux中alarm函數(shù)的實例講解

linux中alarm函數(shù)的實例講解

熱門標簽:智能手機 網(wǎng)站建設 硅谷的囚徒呼叫中心 美圖手機 使用U盤裝系統(tǒng) 檢查注冊表項 阿里云 百度競價點擊價格的計算公式

linux alarm函數(shù)簡介

上代碼:

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
int main(int argc, char *argv[]) 
{ 
 alarm(5);
 sleep(20); 
 printf("end!\n"); 
 return 0; 
}

運行5秒后,內(nèi)核向進程發(fā)出SIGALRM信息,進程被終止,所以上述程序的結果是:

Alarm clock

當然,我們也可以人為定義信號處理函數(shù),如下:

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
void sig_alarm(int sig) 
{ 
 printf("sig is %d, sig_alarm is called\n", sig);
}
int main(int argc, char *argv[]) 
{ 
 signal(SIGALRM, sig_alarm); // 注冊alarm信號對應的函數(shù) 
 alarm(5); // 5秒后,內(nèi)核向進程發(fā)出alarm信號, 執(zhí)行對應的信號注冊函數(shù)
 sleep(20); 
 printf("end!\n"); 
 return 0; 
}

結果:

sig is 14, sig_alarm is called
end!

可以看到,內(nèi)核向應用進程發(fā)出SIGALRM信號,執(zhí)行對應的注冊函數(shù),而非殺死進程。

很簡單,先說這么多。

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接

標簽:通遼 山南 湘潭 賀州 懷化 湖北 黃山 煙臺

巨人網(wǎng)絡通訊聲明:本文標題《linux中alarm函數(shù)的實例講解》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    沁阳市| 云林县| 上林县| 兴隆县| 哈巴河县| 长治市| 任丘市| 聂拉木县| 商水县| 襄城县| 鄂托克旗| 璧山县| 镇宁| 怀宁县| 武隆县| 宜兰县| 北辰区| 枝江市| 双峰县| 湛江市| 龙门县| 襄城县| 同仁县| 湄潭县| 梧州市| 泰宁县| 大洼县| 常宁市| 新巴尔虎右旗| 西峡县| 洪泽县| 宁晋县| 石阡县| SHOW| 高州市| 武强县| 织金县| 龙胜| 肃南| 额敏县| 芒康县|