国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Linux下C庫學(xué)習(xí) - signal.h

2019-11-11 07:27:57
字體:
供稿:網(wǎng)友

本系列只是為了研究C語言的頭文件,如果signal.h展開講感覺就有點(diǎn)跑題了,網(wǎng)上有許多對信號機(jī)制的解析,寫的都非常好,大家可以搜一些,這里就只對signal進(jìn)行記錄,以便后續(xù)繼續(xù)學(xué)習(xí)。

信號 在命令行界面輸入kill -l就可以看到所以的信號以及對應(yīng)的編號

列表中,編號為1 ~ 31的信號為傳統(tǒng)UNIX支持的信號,是不可靠信號(非實(shí)時的),編號為32 ~ 63的信號是后來擴(kuò)充的,稱做可靠信號(實(shí)時信號)。不可靠信號和可靠信號的區(qū)別在于前者不支持排隊(duì),可能會造成信號丟失,而后者不會。

細(xì)心的人可能會發(fā)現(xiàn),上圖的編號沒有32和33,不知道是不是系統(tǒng)保留的信號,不過我在signum.h里面找到了這兩個定義

#define SIGLOST 32 /* Resource lost (Sun); server died (GNU). */#define _NSIG 33 /* Biggest signal number + 1. */

知道的大神,希望能在下方留言指點(diǎn)

signal函數(shù) 系統(tǒng)使用signal函數(shù)來注冊信號處理函數(shù),聲明如下void (*signal(int signum, void (*handler)(int)))(int);

為了方便理解,POSIX進(jìn)行了如下定義

typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler);

可以看到signal函數(shù)有兩個參數(shù)

signum 指明了所要處理的信號類型,它可以取除了SIGKILL和SIGSTOP外的任何一種信號

handler 有三種選擇 SIG_IGN:忽略參數(shù)signum所指的信號。 SIG_DFL:恢復(fù)參數(shù)signum所指信號的處理方法為默認(rèn)值。 sighandler_t類型的函數(shù)指針。

返回值是返回先前的信號處理函數(shù)指針,如果有錯誤則返回SIG_ERR(-1)。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阳江市| 天峻县| 扎兰屯市| 南通市| 建平县| 正定县| 江口县| 富蕴县| 洞头县| 高唐县| 大英县| 仪陇县| 额敏县| 津南区| 赤城县| 庐江县| 寻乌县| 徐闻县| 广丰县| 内丘县| 黄梅县| 营口市| 桦川县| 榕江县| 舟曲县| 莆田市| 清水县| 滨州市| 建始县| 天全县| 大荔县| 扎兰屯市| 吉安市| 邳州市| 瑞安市| 民丰县| 修水县| 班戈县| 海伦市| 福安市| 巴东县|