IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育


Linux下的信號機制

分享到:
           

    本文關鍵字: linux 管道通信,linux 進程通信方式,信號

    信號是在軟件層次上對中斷機制的一種模擬。在原理上,一個進程收到一個信號與處理器收到一個中斷請求可以說是一樣的。信號是異步的,一個進程不必通過任何操作來等待信號的到達,事實上,進程也不知道信號到底什么時候到達。信號可以直接進行用戶空間進程和內核進程之間的交互,內核進程也可以利用它來通知用戶空間進程發生了哪些系統事件。它可以在任何時候發給某一進程,而無須知道該進程的狀態。如果該進程當前并未處于執行態,則該信號就由內核保存起來,直到該進程恢復執行再傳遞給它為止;如果一個信號被進程設置為阻塞,則該信號的傳遞被延遲,直到其阻塞被取消時才被傳遞給進程。

    信號是進程間通信機制中唯一的異步通信機制,可以看做是異步通知,通知接收信號的進程有哪些事情發生了。信號機制經過Posix實時擴展后,功能更加強大,除了基本通知功能外,還可以傳遞附加信息。

    信號事件的發生有兩個來源:硬件來源(如我們按下了鍵盤上的按鈕或者出現其他硬件故障);軟件來源,常用發送信號的系統函數有kill()raise()alarm()、setitimer()和sigqueue()等,軟件來源還包括一些非法運算等操作。

    進程可以通過3種方式來響應一個信號。

    1.忽略信號

    忽略信號即對信號不做任何處理,其中,有兩個信號不能忽略:SIGKILL和SIGSTOP。

    2.捕捉信號

    定義信號處理函數,當信號發生時,執行相應的處理函數。

    3.執行默認操作

    Linux對每種信號都規定了默認操作,如表1所示。

表1 常見信號的含義及其默認操作

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

    一個完整的信號生命周期可以分為3個重要階段,這3個階段由4個重要事件來刻畫的:信號產生、信號在進程中注冊、信號在進程中注銷、執行信號處理函數。這里信號的產生、注冊、注銷等是指信號的內部實現機制,而不是信號的函數實現。因此,信號注冊與否與本節后面講到的發送信號函數(如kill()等)及信號安裝函數(如signal()等)無關,只與信號值有關。

    相鄰兩個事件的時間間隔構成信號生命周期的一個階段。要注意這里的信號處理有多種方式,一般是由內核完成的,當然也可以由用戶進程來完成,故在此沒有明確指出。

    信號的處理包括信號的發送、捕獲及信號的處理,它們有各自相對應的常見函數。

    ● 發送信號的函數:kill()、raise()

    ● 捕捉信號的函數:alarm()、pause()

    ● 處理信號的函數:signal()、sigaction()

    本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》

   熱點鏈接:

   1、有名管道(FIFO)
   2、標準流管道
   3、無名管道系統調用
   4、Linux下進程間通信方式-管道
   5、Linux下進程間通信

更多新聞>> 

主站蜘蛛池模板: 洗地机_扫地机_扫地车品牌_尘推车_工业吸尘器_山东鼎洁盛世 | 秦皇岛图成玻璃_横切机,琴键落板,堆垛机械手,玻璃钢化设备,掰边机,铺纸机,水平堆垛机+超大板堆垛机,纵掰纵分,下片机,冷端优化切割 | 联想南京总代理-联想服务器|联想电脑笔记本代理商|联想工作站|dell服务器|HP服务器|南京IBM代理商|IBM V5000存储总包销-南京宇宽科技有限公司 | 诸城市佳品食品机械有限公司| 唐山搬家公司-搬家公司电话价格-四通搬家| 廊坊纳科新材料技术有限公司--纳科新材料技术有限公司|廊坊纳科新材料|纳科新材料技术 | 潍坊网络推广,临沂360推广,东营360推广,枣庄360推广,潍坊网站建设,潍坊网络公司,潍坊360搜索,潍坊APP开发,潍坊360推广,潍坊360代理,潍坊点睛网络科技有限公司 | 上海中泉泵业制造有限公司-柴油机泵,一体化泵站,柴油机消防泵,泵站,预制一体化泵站 | 立式加工中心_龙门加工中心_卧式加工中心-山东威达重工股份有限公司 | 啤酒厂家_啤酒代工厂_原浆啤酒厂家 - 山东十谷啤酒有限公司 | 叶片泵,液压电机,油泵电机,变量叶片泵,油压电机-广东俊泰液压科技有限公司 | 皮带清扫器-皮带聚氨酯合金空段输送带清扫器刮刀厂家-衡水格锐特机械科技有限公司 | 深圳奥力特化工产品有限公司企业网站 | 杀菌剂_除藻剂_杀菌灭藻剂_1227杀菌剂_中北精细化工 | 金亨木业建筑模板_清水模板_覆膜板_金亨木业建筑模板厂家批发 | 南昌运通工程机械租赁有限公司| 惠声电子、广州市惠声电子科技有限公司、VBS、VBS惠声电子、VBS公共广播生产厂家、VBS广播功放生产厂家、VBS会议系统设备批发、VBSIP网络对讲系统厂家、VBS会议系统厂家、VBS智能中控厂家、VBS专业扩声厂家 | 硬度计-布氏硬度计-维氏硬度计-莱洛特试验仪器有限公司 | 湖南视频会议设备厂家|长沙视频会议设备安装型号齐全找湖南日恒智能工程有限公司 | 全自动烫金机-全自动移印机-全自动丝印机-全自动平面机-东莞联昌实业供应各种丝印机和移印机 | 天津韬艺科技有限公司,天津网站建设公司,天津网站设计公司,品牌网站策划公司 | 兰州钢结构,甘肃铝镁锰板工程,青海岩棉复合板厂家,宁夏岩棉彩钢板公司,西宁彩钢夹芯板-兰州腾达彩钢 | 正拓夏令营官网-中小学生军事夏令营-研学军旅训练拓展夏令营 | 中科盛世酒窖 - 酒窖设计_酒窖工程_酒窖空调设备_恒温酒柜定制_私人别墅家庭酒窖_不锈钢红酒柜_实木雪茄柜 | 全网营销_网络推广外包_全网营销代运营公司-湖南微望互动 | 钠长石-硅铁-硅钙-孕育剂-球化剂-安阳李氏实业有限公司 | 柔性测斜仪|滑动式测斜仪-华思(广州)测控科技有限公司 | 水阻柜-液阻柜-高压开关柜-高压固态软启动柜-磁控软启动柜-电解粉-无功补偿柜-配电柜-襄阳源创电气 | 长沙市富巴机电设备有限公司-长期销售施能,霍尼韦尔,霍科德,意莱克斯,台仪,泛达 | 狠狠穞A片一區二區三區-免费网站在线观看人数更新时间-欧洲尺码日本尺码专线不卡顿,国产大尺度禁片未删减版,baomaav | 搅拌设备_搅拌器_浓密机_浆式_顶入式_不锈钢「赛鼎机械」 | 全自动灌装机械设备-迈驰粉末/颗粒/液体/膏体灌装机械设备流水线生产厂家 | 重庆监控安装_监控系统工程_高清监控摄像头-重庆监控系统安装公司 | 铁行火车票_铁行火车票网上订票_铁行火车票客户端【铁行官网】 | 厦门鼎星五金制品有限公司-厦门弹簧,电池簧,扣簧 | 宿迁网站建设-宿迁做网站-宿迁网站制作-宿迁网络公司-宿迁网页设计-宿迁软件开发-宿迁新动力软件开发有限公司 | 磨粉机_上海磨粉机_雷蒙磨粉机_超细磨粉机_磨粉机价格-上海山卓重工机械有限公司 | 新颖科技 - 家电及汽车外饰面板供应商 | 烟台真空包装,烟台木包装,烟台熏蒸木箱-烟台福岭木制品有限公司 烟台通风管道,烟台风机风管,烟台风阀-烟台福莱通风设备有限公司 | 天然气车船展、氢能装备展、氢燃料汽车展、核电装备展、国防信息化装备展---北京企发展览服务有限公司 | 苏州注塑|无锡注塑|上海注塑|苏州汉科精密注塑有限公司 |