linux C之alarm函式 更改

2021-06-06 11:41:10 字數 1337 閱讀 2882

alarm也稱為鬧鐘函式,alarm()用來設定訊號sigalrm在經過引數seconds指定的秒數後傳送給目前的程序。如果引數seconds為0,則之前設定的鬧鐘會被取消,並將剩下的時間返回。要注意的是,乙個程序只能有乙個鬧鐘時間,如果在呼叫alarm之前已設定過鬧鐘時間,則任何以前的鬧鐘時間都被新值所代替。

所需標頭檔案

#include

函式原型

unsigned int alarm(unsigned int seconds)

函式引數

seconds:指定秒數

函式返回值

成功:如果呼叫此alarm()前,程序已經設定了鬧鐘時間,則返回上乙個鬧鐘時間的剩餘時間,否則返回0。

出錯:-1

**

#include

#include

void handler()

void main()}

結果:剛開始在main中執行一次,然後每隔5秒執行一次handler()

hello

sleep 1 ...

sleep 2 ...

sleep 3 ...

sleep 4 ...

sleep 5 ...

hello

sleep 6 ...

sleep 7 ...

sleep 8 ...

sleep 9 ...

sleep 10 ...

hello

sleep 11 ...

sleep 12 ...

sleep 13 ...

sleep 14 ...

sleep 15 ...

hello

sleep 16 ...

sleep 17 ...

sleep 18 ...

sleep 19 ...

sleep 20 ...

hello

注意:alarm只設定乙個鬧鐘,時間到達並執行其註冊函式之後,鬧鐘便失效。如果想迴圈設定鬧鐘,需在其註冊函式中在呼叫alarm函式。

好了,看看我自己改編後的**吧!有助於更好得理解

#include #include #include #include #define sleep_time 6

int time_out;

void handler()

int main()

*/ }

return 0;

}

linux C之alarm函式 更改

alarm也稱為鬧鐘函式,alarm 用來設定訊號sigalrm在經過引數seconds指定的秒數後傳送給目前的程序。如果引數seconds為0,則之前設定的鬧鐘會被取消,並將剩下的時間返回。要注意的是,乙個程序只能有乙個鬧鐘時間,如果在呼叫alarm之前已設定過鬧鐘時間,則任何以前的鬧鐘時間都被新...

linux c之alarm函式的使用,定時器的實現

include include include int main int argc,char argv include include include include include include include include int i it 1 通過呼叫alarm來設定計時器,然後繼續做別的...

ctf pwn題之alarm函式

alarm 在解題中的妙用 總結 如上圖所示,在做一些pwn題的時候,我們有時會遇到alarm 0xau 函式。alarm函式中的引數0xau是十六進製制無符號數,即十進位制對應10,所以該函式的作用是在程式執行10秒後,給程序傳送sigalrm訊號,如果不另編寫程式接受處理此訊號,則預設結束此程式...