sleep函式原型:unsigned
int sleep(unsigned
int seconds);
思路: 利用函式alarm函式來計時,產生乙個鬧鐘訊號,等alarm發出訊號,pause接受到訊號然後擊穿結束阻塞狀態,達到睡眠效果
#include
#include
#include
//訊號處理函式
void doit(int n)
unsigned
int psleep(unsigned
int s)
int main(void)
return
0; }
命令: tarena@ubuntu:~/day/day33$ a.out
結果: .....
.....
.....
.....//每隔兩秒出一次
^c分析: 先改變訊號的處理方式,不改變訊號的處理方式的話執行**之後2s後顯示一下「鬧鐘「就會結束程序
進入死迴圈,呼叫psleep函式,在函式中alarm每s秒產生一次訊號,每次產生訊號pause接收到繼續執行下面的**。
這個程式只是教學用,與工程**還差的很遠,這是基本原理
C語言 unix c 動態載入
動態載入 在程式中根據程式的需要,動態載入某個庫函式,這種行為稱為動態載入,系統為實現動態載入提供了一下函式 man 3 dlopen顯示幫助 標頭檔案 include void dlopen const char filename,int flag 引數 filename 制定了動態庫的檔案名字 ...
C語言 unix c 訊號基礎
二 訊號的基礎 1 什麼是訊號 訊號就是 軟中斷 軟中斷就是軟體模擬的中斷機制。2 中斷是什麼 正常的執行流程,訊號處理程式是兩條執行路線,但是屬於同乙個程序 3 系統為我們提供了哪些訊號?kill l 察看系統的中斷 64個訊號,32,33沒有 tarena ubuntu kill l 1 sig...
C語言 unix c 共享記憶體
一 共享記憶體 1 獲取乙個鍵值 ftok 3 2 使用鍵值獲取共享記憶體的id shmget 2 include include int shmget key t key,size t size,int shm 引數 key ftok 3 的返回值 size 指定共享記憶體段的尺寸 shm mod...