五月天激情丁香,国产精品2019,国产成人精品亚洲2020,国产精品免费视频一区二区三区,开心久久婷婷综合中文字幕,天堂视频在线观看免费完整版

進(jìn)程信號(hào)

信號(hào)(Signals )是Unix系統(tǒng)中使用的最古老的進(jìn)程間通信的方法之一。操作系統(tǒng)通過(guò)信號(hào)來(lái)通知進(jìn)程系統(tǒng)中發(fā)生了某種預(yù)先規(guī)定好的事件(一組事件中的一個(gè)),它也是用戶進(jìn)程之間通信和同步的一種原始機(jī)制。一個(gè)鍵盤中斷或者一個(gè)錯(cuò)誤條件(比如進(jìn)程試圖訪問(wèn)它的虛擬內(nèi)存中不存在的位置等)都有可能產(chǎn)生一個(gè)信號(hào)。Shell也使用信號(hào)向它的子進(jìn)程發(fā)送作業(yè)控制信號(hào)。

信號(hào)是在Unix System V中首先引入的,它實(shí)現(xiàn)了15種信號(hào),但很不可靠。BSD4.2解決了其中的許多問(wèn)題,而在BSD4.3中進(jìn)一步加強(qiáng)和改善了信號(hào)機(jī)制。但兩者的接口不完全兼容。在Posix 1003.1標(biāo)準(zhǔn)中做了一些強(qiáng)行規(guī)定,它定義了一個(gè)標(biāo)準(zhǔn)的信號(hào)接口,但沒(méi)有規(guī)定接口的實(shí)現(xiàn)。目前幾乎所有的Unix變種都提供了和Posix標(biāo)準(zhǔn)兼容的信號(hào)實(shí)現(xiàn)機(jī)制。

階段

在一個(gè)信號(hào)的生命周期中有兩個(gè)階段:生成和傳送。當(dāng)一個(gè)事件發(fā)生時(shí),需要通知一個(gè)進(jìn)程,這時(shí)生成一個(gè)信號(hào)。當(dāng)進(jìn)程識(shí)別出信號(hào)的到來(lái),就采取適當(dāng)?shù)膭?dòng)作來(lái)傳送或處理信號(hào)。在信號(hào)到來(lái)和進(jìn)程對(duì)信號(hào)進(jìn)行處理之間,信號(hào)在進(jìn)程上掛起(pending)。

內(nèi)核為進(jìn)程生產(chǎn)信號(hào),來(lái)響應(yīng)不同的事件,這些事件就是信號(hào)源。主要的信號(hào)源如下:

  • 異常:進(jìn)程運(yùn)行過(guò)程中出現(xiàn)異常;
  • 其它進(jìn)程:一個(gè)進(jìn)程可以向另一個(gè)或一組進(jìn)程發(fā)送信號(hào);
  • 終端中斷:Ctrl-C,Ctrl-\等;
  • 作業(yè)控制:前臺(tái)、后臺(tái)進(jìn)程的管理;
  • 分配額:CPU超時(shí)或文件大小突破限制;
  • 通知:通知進(jìn)程某事件發(fā)生,如I/O就緒等;
  • 報(bào)警:計(jì)時(shí)器到期。

常見(jiàn)信號(hào)

  • SIGHUP: 從終端上發(fā)出的結(jié)束信號(hào);

  • SIGINT: 來(lái)自鍵盤的中斷信號(hào)(Ctrl-C);

  • SIGQUIT:來(lái)自鍵盤的退出信號(hào)(Ctrl-\);

  • SIGFPE: 浮點(diǎn)異常信號(hào)(例如浮點(diǎn)運(yùn)算溢出);

  • SIGKILL:該信號(hào)結(jié)束接收信號(hào)的進(jìn)程;

  • SIGALRM:進(jìn)程的定時(shí)器到期時(shí),發(fā)送該信號(hào);

  • SIGTERM:kill 命令發(fā)出的信號(hào);

  • SIGCHLD:標(biāo)識(shí)子進(jìn)程停止或結(jié)束的信號(hào);

    每一個(gè)信號(hào)都有一個(gè)缺省動(dòng)作,它是當(dāng)進(jìn)程沒(méi)有給這個(gè)信號(hào)指定處理程序時(shí),內(nèi)核對(duì)信號(hào)的處理。有5種缺省的動(dòng)作:

  • 異常終止(abort):在進(jìn)程的當(dāng)前目錄下,把進(jìn)程的地址空間內(nèi)容、寄存器內(nèi)容保存到一個(gè)叫做core的文件中,而后終止進(jìn)程。

  • 退出(exit):不產(chǎn)生core文件,直接終止進(jìn)程。

  • 忽略(ignore):忽略該信號(hào)。

  • 停止(stop):掛起該進(jìn)程。

  • 繼續(xù)(continue):如果進(jìn)程被掛起,則恢復(fù)進(jìn)程的運(yùn)行。否則,忽略信號(hào)。

  • 進(jìn)程可以對(duì)任何信號(hào)指定另一個(gè)動(dòng)作或重載缺省動(dòng)作,指定的新動(dòng)作可以是忽略信號(hào)。進(jìn)程也可以暫時(shí)地阻塞一個(gè)信號(hào)。因此進(jìn)程可以選擇對(duì)某種信號(hào)所采取的特定操作,這些操作包括:

  • 忽略信號(hào):進(jìn)程可忽略產(chǎn)生的信號(hào),但 SIGKILL 和 SIGSTOP 信號(hào)不能被忽略,必須處理(由進(jìn)程自己或由內(nèi)核處理)。進(jìn)程可以忽略掉系統(tǒng)產(chǎn)生的大多數(shù)信號(hào)。

  • 阻塞信號(hào):進(jìn)程可選擇阻塞某些信號(hào),即先將到來(lái)的某些信號(hào)記錄下來(lái),等到以后(解除阻塞后)再處理它。

  • 由進(jìn)程處理該信號(hào):進(jìn)程本身可在系統(tǒng)中注冊(cè)處理信號(hào)的處理程序地址,當(dāng)發(fā)出該信號(hào)時(shí),由注冊(cè)的處理程序處理信號(hào)。

  • 由內(nèi)核進(jìn)行缺省處理:信號(hào)由內(nèi)核的缺省處理程序處理,執(zhí)行該信號(hào)的缺省動(dòng)作。例如,進(jìn)程接收到SIGFPE(浮點(diǎn)異常)的缺省動(dòng)作是產(chǎn)生core并退出。大多數(shù)情況下,信號(hào)由內(nèi)核處理。

需要指出的是,對(duì)信號(hào)的任何處理,包括終止進(jìn)程,都必須由接收到信號(hào)的進(jìn)程來(lái)執(zhí)行。而進(jìn)程要執(zhí)行信號(hào)處理程序,就必須等到它真正運(yùn)行時(shí)。因此,對(duì)信號(hào)的處理可能需要延遲一段時(shí)間。

信號(hào)沒(méi)有固有的優(yōu)先級(jí)。如果為一個(gè)進(jìn)程同時(shí)產(chǎn)生了兩個(gè)信號(hào),這兩個(gè)信號(hào)會(huì)以任意順序出現(xiàn)在進(jìn)程中并會(huì)按任意順序被處理。另外,也沒(méi)有機(jī)制用于區(qū)分同一種類的多個(gè)信號(hào)。如果進(jìn)程在處理某個(gè)信號(hào)之前,又有相同的信號(hào)發(fā)出,則進(jìn)程只能接收到一個(gè)信號(hào)。進(jìn)程無(wú)法知道它接收了1個(gè)還是42個(gè)SIGCONT信號(hào)。

主站蜘蛛池模板: 99久在线精品99re6视频 | 激情婷婷六月天 | 中文字幕久精品免费视频 | 免费国产成人α片 | 男人天堂999| 国产精品第九页 | 青草国内精品视频在线观看 | 青青热久久国产久精品秒播 | 国产精品国三级国产aⅴ | 国产精品亚洲天堂 | 国产精品…在线观看 | 国产一级高清视频免费看 | 久久久久琪琪精品色 | 久久这里只精品国产99热 | 天天躁夜夜躁狠狠躁躁88 | 黄色成人在线观看 | 精品99在线观看 | 奇米第四色正能量 | a级毛片在线播放 | 五月婷婷伊人网 | 成人黄视频 | 看一级毛片 | 精品久久久久久久久久中文字幕 | 欧美日韩高清在线 | 国产成人精品日本亚洲直接 | 久久久99精品久久久 | 99pao强力打造免费高清色 | a级理论片 | 99国产精品视频免费观看 | 国产精品久久精品牛牛影视 | 丁香花视频网 | 国产一级一级一级成人毛片 | 日韩天天操 | 国产亚洲综合色就色 | 狠狠干成人| 日韩欧美在线精品 | 九九福利 | 五月综合激情视频在线观看 | 国产精品永久免费视频观看 | 免费色网址| 亚洲aⅴ久久久噜噜噜噜 |