Linux中程式間通訊是什麼概念?目的是什麼?

老男孩IT教育機構發表於2021-11-18

  不管是程式設計師還是運維人員,都會接觸到Linux作業系統,如果有做Linux運維的打算,瞭解Linux作業系統是至關重要的,本篇文章整理了Linux作業系統中程式通訊的概念,如果你還不太瞭解,請看下文:

  程式通訊是什麼意思呢?

  簡稱IPC,全稱為Interprocess communication,程式間通訊就是在不同程式之間傳播或交換資訊。

  那程式通訊的目的是什麼呢?

  1、資料傳輸:一個程式需要將它的資料傳送給另一個程式;

  2、資源共享:多個程式間共享同樣的資源;

  3、通知事件:一個程式需要向另一個或一組程式傳送訊息,通知它們發生了某種事情,比如程式終止時需要通知其父程式;

  4、程式控制:有些程式希望完全控制另一個程式的執行,比如Debug程式,此時控制程式希望能夠攔截另一個程式的所有陷入和異常,且能夠及時知道它的狀態改變。

  其實簡單來講,本質就是讓不同的程式共享同一份資源。

  因為每個程式之間都是獨立的,主要體現在資料層面,但程式碼邏輯層可以私有也可以公有,因此各個程式間要實現通訊還是會相對來說比較困難的。

  那如果想要實現通訊,就要藉助第三方資源,這些程式就可以透過這個第三方資源寫入或讀取資料,進而實現程式通訊的功能。

  程式間通訊的分類:

  管道:1、匿名管道;2、命名管道

  System V IPC:1、System V 訊息佇列;2、System V 共享記憶體;3、System V 訊號量。

  POSIX IPC:1、訊息佇列;2、共享記憶體;3、訊號量;4、互斥量;5、條件變數;6、讀寫鎖。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2842881/,如需轉載,請註明出處,否則將追究法律責任。

相關文章