色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看


Linux下的信號(hào)機(jī)制

分享到:
           

    本文關(guān)鍵字: linux 管道通信,linux 進(jìn)程通信方式,信號(hào)

    信號(hào)是在軟件層次上對(duì)中斷機(jī)制的一種模擬。在原理上,一個(gè)進(jìn)程收到一個(gè)信號(hào)與處理器收到一個(gè)中斷請(qǐng)求可以說(shuō)是一樣的。信號(hào)是異步的,一個(gè)進(jìn)程不必通過(guò)任何操作來(lái)等待信號(hào)的到達(dá),事實(shí)上,進(jìn)程也不知道信號(hào)到底什么時(shí)候到達(dá)。信號(hào)可以直接進(jìn)行用戶空間進(jìn)程和內(nèi)核進(jìn)程之間的交互,內(nèi)核進(jìn)程也可以利用它來(lái)通知用戶空間進(jìn)程發(fā)生了哪些系統(tǒng)事件。它可以在任何時(shí)候發(fā)給某一進(jìn)程,而無(wú)須知道該進(jìn)程的狀態(tài)。如果該進(jìn)程當(dāng)前并未處于執(zhí)行態(tài),則該信號(hào)就由內(nèi)核保存起來(lái),直到該進(jìn)程恢復(fù)執(zhí)行再傳遞給它為止;如果一個(gè)信號(hào)被進(jìn)程設(shè)置為阻塞,則該信號(hào)的傳遞被延遲,直到其阻塞被取消時(shí)才被傳遞給進(jìn)程。

    信號(hào)是進(jìn)程間通信機(jī)制中唯一的異步通信機(jī)制,可以看做是異步通知,通知接收信號(hào)的進(jìn)程有哪些事情發(fā)生了。信號(hào)機(jī)制經(jīng)過(guò)Posix實(shí)時(shí)擴(kuò)展后,功能更加強(qiáng)大,除了基本通知功能外,還可以傳遞附加信息。

    信號(hào)事件的發(fā)生有兩個(gè)來(lái)源:硬件來(lái)源(如我們按下了鍵盤(pán)上的按鈕或者出現(xiàn)其他硬件故障);軟件來(lái)源,常用發(fā)送信號(hào)的系統(tǒng)函數(shù)有kill()raise()alarm()、setitimer()和sigqueue()等,軟件來(lái)源還包括一些非法運(yùn)算等操作。

    進(jìn)程可以通過(guò)3種方式來(lái)響應(yīng)一個(gè)信號(hào)。

    1.忽略信號(hào)

    忽略信號(hào)即對(duì)信號(hào)不做任何處理,其中,有兩個(gè)信號(hào)不能忽略:SIGKILL和SIGSTOP。

    2.捕捉信號(hào)

    定義信號(hào)處理函數(shù),當(dāng)信號(hào)發(fā)生時(shí),執(zhí)行相應(yīng)的處理函數(shù)。

    3.執(zhí)行默認(rèn)操作

    Linux對(duì)每種信號(hào)都規(guī)定了默認(rèn)操作,如表1所示。

表1 常見(jiàn)信號(hào)的含義及其默認(rèn)操作

信 號(hào) 名 含 義 默 認(rèn) 操 作
SIGHUP 該信號(hào)在用戶終端連接(正常或非正常)結(jié)束時(shí)發(fā)出,通常是在終端的控制進(jìn)程結(jié)束時(shí),通知同一會(huì)話內(nèi)的各個(gè)進(jìn)程與控制終端不再關(guān)聯(lián) 終止
SIGINT 該信號(hào)在用戶輸入INTR字符(通常是Ctrl+C)時(shí)發(fā)出,終端驅(qū)動(dòng)程序發(fā)送此信號(hào)并送到前臺(tái)進(jìn)程中的每一個(gè)進(jìn)程 終止
SIGQUIT 該信號(hào)和SIGINT類似,但由QUIT字符(通常是Ctrl+\)來(lái)控制 終止
SIGILL 該信號(hào)在一個(gè)進(jìn)程企圖執(zhí)行一條非法指令時(shí)(可執(zhí)行文件本身出現(xiàn)錯(cuò)誤,或者試圖執(zhí)行數(shù)據(jù)段、堆棧溢出時(shí))發(fā)出 終止
SIGFPE 該信號(hào)在發(fā)生致命的算術(shù)運(yùn)算錯(cuò)誤時(shí)發(fā)出。這里不僅包括浮點(diǎn)運(yùn)算錯(cuò)誤,還包括溢出及除數(shù)為0等其他所有的算術(shù)錯(cuò)誤 終止
SIGKILL 該信號(hào)用來(lái)立即結(jié)束程序的運(yùn)行,并且不能被阻塞、處理和忽略 終止
SIGALRM 該信號(hào)當(dāng)一個(gè)定時(shí)器到時(shí)的時(shí)候發(fā)出 終止
SIGSTOP 該信號(hào)用于暫停一個(gè)進(jìn)程,且不能被阻塞、處理或忽略 暫停進(jìn)程
SIGTSTP 該信號(hào)用于交互停止進(jìn)程,用戶在輸入SUSP字符時(shí)(通常是Ctrl+Z)發(fā)出這個(gè)信號(hào) 停止進(jìn)程
SIGCHLD 子進(jìn)程改變狀態(tài)時(shí),父進(jìn)程會(huì)收到這個(gè)信號(hào) 忽略

    一個(gè)完整的信號(hào)生命周期可以分為3個(gè)重要階段,這3個(gè)階段由4個(gè)重要事件來(lái)刻畫(huà)的:信號(hào)產(chǎn)生、信號(hào)在進(jìn)程中注冊(cè)、信號(hào)在進(jìn)程中注銷(xiāo)、執(zhí)行信號(hào)處理函數(shù)。這里信號(hào)的產(chǎn)生、注冊(cè)、注銷(xiāo)等是指信號(hào)的內(nèi)部實(shí)現(xiàn)機(jī)制,而不是信號(hào)的函數(shù)實(shí)現(xiàn)。因此,信號(hào)注冊(cè)與否與本節(jié)后面講到的發(fā)送信號(hào)函數(shù)(如kill()等)及信號(hào)安裝函數(shù)(如signal()等)無(wú)關(guān),只與信號(hào)值有關(guān)。

    相鄰兩個(gè)事件的時(shí)間間隔構(gòu)成信號(hào)生命周期的一個(gè)階段。要注意這里的信號(hào)處理有多種方式,一般是由內(nèi)核完成的,當(dāng)然也可以由用戶進(jìn)程來(lái)完成,故在此沒(méi)有明確指出。

    信號(hào)的處理包括信號(hào)的發(fā)送、捕獲及信號(hào)的處理,它們有各自相對(duì)應(yīng)的常見(jiàn)函數(shù)。

    ● 發(fā)送信號(hào)的函數(shù):kill()、raise()

    ● 捕捉信號(hào)的函數(shù):alarm()、pause()

    ● 處理信號(hào)的函數(shù):signal()、sigaction()

    本文選自華清遠(yuǎn)見(jiàn)嵌入式培訓(xùn)教材《從實(shí)踐中學(xué)嵌入式Linux應(yīng)用程序開(kāi)發(fā)》

   熱點(diǎn)鏈接:

   1、有名管道(FIFO)
   2、標(biāo)準(zhǔn)流管道
   3、無(wú)名管道系統(tǒng)調(diào)用
   4、Linux下進(jìn)程間通信方式-管道
   5、Linux下進(jìn)程間通信

更多新聞>> 

主站蜘蛛池模板: 性色av无码 | 精品中文字幕在线播放 | 野花日本韩国大全免费版6 亚洲欧洲AV综合一区二区三区 | 国产精品内射久久久久欢欢 | 干逼毛片 | 少妇高潮惨叫喷水正在播放 | 亚洲国产精品无码久久一线 | 欲求不満の人妻松下纱荣子 | 色吊丝2288sds中文字幕 | 永久免费草莓视频入口 | 亚洲精选一区二区三区 | 女人高潮被爽到呻吟在线观看 | 成人无码h肉动漫在线观看站 | 国模大胆无码私拍啪啪AV | 欧美丰满熟妇VAIDEOS | 亚洲一区二区三区av激情 | 亚洲精品屋V一区二区 | 中文字幕无线码一区2020青青 | 乱色欧美激惰 | JIZZYOU中国少妇 | 97日日碰曰曰摸日日澡 | 亚洲乱亚洲乱少妇无码 | 中出亚洲 | 亚洲精品无码一区二区三区四虎 | 国产一区二区三区久久悠悠色av | 又色又爽又黄的视频网站 | 日日夜夜视频 | 熟妇人妻午夜寂寞影院 | 在线观看亚洲AV无码每日更新 | 苍井空波多野结衣AA片 | JAPANESE人妻无码人妻 | 欧美香蕉爽爽人人爽 | 日韩人妻不卡一区二区三区 | 老中医吮她的花蒂和奶水视频播放 | 爆乳美女脱内衣18禁裸露网站 | 无码人妻一区二区中文 | h人成在线看免费视频 | 国产理论剧情大片在线播放 | 狠狠久久永久免费观看 | a片人人澡c片人人人妻 | 特级小箩利无码毛片 |