Skip to Content
LINUX系統程式設計 第二版
book

LINUX系統程式設計 第二版

by Robert Love
December 2013
Intermediate to advanced
496 pages
8h 57m
Chinese
GoTop Information, Inc.
Content preview from LINUX系統程式設計 第二版
第十章
信號
信號
signal
)就是軟體中斷所提供之用於處理非同步事件的一個種機制。這些事件可
能來自系統外部,例如用戶經由按下 Ctrl-C 產生中斷字符,或是來自程式或核心內部的
活動,例如行程執行到「除以零」(divide by zero)的程式碼。因為信號是行程間通訊
interprocess communication,常簡寫為 IPC)的原始形式,一個行程還可以傳送信號
給另一個行程。
關鍵在於不只是事件發生的方式是非同步的—例如,程式執行期間,用戶可以在任何時
間點按下 Ctrl-C —而且程式處理信號的方式也是非同步的。當信號被遞送時,程式端會
以非同步的方式調用向核心註冊的信號處理函式。
早期的 Unix 就已經包含信號。然而,隨著時間的推移,它們已經有所演進,最值得注
意的是可靠性(因為信號有可能會遺失)以及功能性(因為信號現在可能會載送用戶定
義的資料)。起初,不同的 Unix 系統對信號做了不相容的更動。所幸,POSIX 將信號的
處理標準化,解決了此類問題。這個標準也就是 Linux 所提供的以及此處我們所要探討
的信號處理機制。
本章中,一開始我們會概述信號,以及探討信號的使用與誤用。接著會探討用於管理和
操作信號的各種 Linux 介面。
具實用價值的應用程式多半必須跟信號互動。就算你刻意把應用程式設計成進行通訊時
不需要用到信號—這通常是個好主意! —某些情況下你仍然不得不與信號為伍,例如當
程式收到終止信號的時候。
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

優雅的SciPy|Python科學研究的美學

優雅的SciPy|Python科學研究的美學

Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9789862769812