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

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

熱門標(biāo)簽:百度地圖標(biāo)注要不要錢 東莞人工智能電銷機(jī)器人供應(yīng)商 廣州電銷機(jī)器人系統(tǒng)圖 高德地圖標(biāo)注無(wú)營(yíng)業(yè)執(zhí)照 長(zhǎng)沙開福怎么申請(qǐng)400電話 金融行業(yè)外呼線路 賀州市地圖標(biāo)注app 智能電話機(jī)器人線路 江蘇電銷外呼防封系統(tǒng)是什么

linux alarm函數(shù)簡(jiǎn)介

上代碼:

#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; 
}

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

Alarm clock

當(dāng)然,我們也可以人為定義信號(hào)處理函數(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); // 注冊(cè)alarm信號(hào)對(duì)應(yīng)的函數(shù) 
 alarm(5); // 5秒后,內(nèi)核向進(jìn)程發(fā)出alarm信號(hào), 執(zhí)行對(duì)應(yīng)的信號(hào)注冊(cè)函數(shù)
 sleep(20); 
 printf("end!\n"); 
 return 0; 
}

結(jié)果:

sig is 14, sig_alarm is called
end!

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

很簡(jiǎn)單,先說這么多。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

標(biāo)簽:張家界 北京 洛陽(yáng) 玉樹 松原 永州 廊坊 滄州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《linux中alarm函數(shù)的實(shí)例講解》,本文關(guān)鍵詞  linux,中,alarm,函數(shù),的,實(shí)例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《linux中alarm函數(shù)的實(shí)例講解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于linux中alarm函數(shù)的實(shí)例講解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章