sleep()函式1.sleep()函式作用:讓程序睡眠
2.能被訊號打斷,然後處理訊號函式以後,就不再睡眠,直接向下執行**
3.sleep函式的返回值是剩餘秒數
//sleep 函式
#include #include
#include
#include
#include
#include
#include
#include
void catch_signal(int
sign)
}int main(int arg,char *args)
int num=0
; num=sleep(100
);
//手動執行 ctrl+c 程序被喚醒
if(num>0
)
//說明:sleep()函式是可中斷睡眠
printf(
"新的測試!\n");
//再次設計sleep()函式,讓其sleep需要的時間
num=15
;
dowhile
(num);
printf(
"game over!\n");
return0;
}
int raise(intsig)
--給自己傳送訊號,raise(sig)等價於kill(getpid(),sig)
killpg
--給程序組傳送訊號,killpg(pgrp,sig)等價於kill(-pgrp,sig)
sigqueue
--給程序傳送訊號,支援排隊,可以附帶資訊
Linux 訊號 模擬實現sleep
1 產生訊號 產生訊號的3種方式 1 呼叫系統函式 kill raise abort 2 軟體異常行為 3 組合鍵 ctrl c ctrl d ctrl 等 處理訊號的3種方式 1 忽略。2 預設 很多情況下是終止 3 自定義 訊號捕捉 訊號在核心中的表示 1 遞達 執行訊號的處理動作稱為訊號遞達 ...
Linux 利用訊號實現sleep函式
在另一篇文章linux訊號中,介紹了訊號的產生與處理方式,以及一系列訊號集函式的使用。本文使用訊號機制,模擬實現sleep函式並了解競態條件。在此之前先介紹一波需要用到的函式。sigaction函式 include int sigaction int signum,const struct siga...
訊號之sleep函式
include unsigned int sleep unsigned int seconds 返回值 0或未休眠夠的秒數 此函式使呼叫程序被掛起,直到滿足以下條件之一 1 已經過了seconds所指定的牆上時鐘時間。2 呼叫程序捕捉到乙個訊號並從訊號處理程式返回。如果alarm訊號一樣,由於其他系...