![]() |
|||||||||||||||
信號捕捉函數alarm()和pause() |
|||||||||||||||
本文關鍵字: 信號捕捉函數,alarm(),pause() alarm()也稱為鬧鐘函數,它可以在進程中設置一個定時器,當定時器指定的時間到時,它就向進程發送SIGALARM信號。要注意的是,一個進程只能有一個鬧鐘時間,如果在調用alarm()之前已設置過鬧鐘時間,則任何以前的鬧鐘時間都被新值所代替。 pause()函數用于將調用進程掛起直至捕捉到信號為止。這個函數很常用,通常可以用于判斷信號是否已到。 表1列出了alarm()函數的語法要點。 表1 alarm()函數語法要點
表2列出了pause()函數的語法要點。 表2 pause()函數語法要點
以下實例實際上已完成了一個簡單的sleep()函數的功能,由于SIGALARM默認的系統動作為終止該進程,因此程序在打印信息前就會被結束了,代碼如下: /* alarm_pause.c */ 本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》 熱點鏈接:
1、信號發送函數kill()和raise() |