linux 程序通訊

2021-09-08 23:43:00 字數 622 閱讀 1823

表 1. unix 中的程序間通訊
名稱

說明範圍

用途檔案

在典型的 unix 檔案中讀寫資料。任意數量的程序都可以互操作。

本地共享大資料集

管道使用專用的檔案描述符在兩個程序之間傳輸資料。通訊只在父程序和子程序之間進行。

本地簡單的資料共享,比如生產者和消費者

命名管道

通過專用的檔案描述符在程序之間交換資料。通訊可以在同一主機上的任意兩個對等程序之間進行。

本地生產者和消費者或命令-控制,比如 mysql 和它的命令列查詢工具

訊號通過中斷通知應用程式某一情況。

本地無法在訊號中傳輸資料,所以訊號主要用於程序管理

共享記憶體

通過在同一記憶體段中讀寫資料共享資訊。

本地任何型別的協作,尤其適合需要安全性的情況

套接字完成特殊的設定過程之後,使用一般的輸入/輸出操作傳輸資料。

本地或遠端

ftp、ssh 和 apache web server 等網路服務

正如前面提到的,每種技術滿足不同的需求。假設多個程序之間的協作的複雜性大體相當,每種方法的優點和缺點如下:

Linux程序通訊

linux程序通訊 無名管道主要用於有親緣關係的程序通訊,其位於外存區域,但在檔案系統中不可見。在實際應用中,程序通訊往往發生在無關程序之間,此種情形下,若仍想使用管道,則必須使用有名管道,也稱命名管道或fifo檔案。這種型別的管道在檔案系統中可見,建立時需要指定具體路徑和檔名,管道建立之後,可用l...

Linux 程序通訊

程序通訊 通訊 communication 意味著在程序間傳送資料。也把程序間控制資訊的交換稱為低階通訊,而把程序間大批量資料的交換稱為高階通訊。程序通訊的型別 1 共享儲存器系統 記憶體 共享儲存器系統為了傳送大量資料,在儲存器中劃出一塊共享儲存區,諸程序可通過對共享儲存區進行讀資料或寫資料以實現...

Linux 程序通訊

linux下程序通訊的八種方法 管道 pipe 命名管道 fifo 共享記憶體 shared memory 訊息佇列 message queue 訊號量 semaphore 訊號 signal 套接字 socket linux命令中,執行乙個程式,後面加上 代表後台執行,也就是執行這個程式的同時,你...