天天看點

【Linux系統程式設計】程序間通信概述

00. 目錄

文章目錄

    • 01. 程序間通信概述
    • 02. 程序間通信目的
    • 03. 程序間通信機制
    • 04. 附錄

程序是一個獨立的資源配置設定單元,不同程序(這裡所說的程序通常指的是使用者程序)之間的資源是獨立的,沒有關聯,不能在一個程序中直接通路另一個程序的資源(例如打開的檔案描述符)。

但是,程序不是孤立的,不同的程序需要進行資訊的互動和狀态的傳遞等,是以需要程序間通信( IPC:Inter Processes Communication )。

  • 資料傳輸:一個程序需要将它的資料發送給另一個程序。
  • 通知事件:一個程序需要向另一個或一組程序發送消息,通知它(它們)發生了某種事件(如程序終止時要通知父程序)。
  • 資源共享:多個程序之間共享同樣的資源。為了做到這一點,需要核心提供互斥和同步機制。
  • 程序控制:有些程序希望完全控制另一個程序的執行(如 Debug 程序),此時控制程序希望能夠攔截另一個程序的所有陷入和異常,并能夠及時知道它的狀态改變。