程序間通訊有如下的目的:1、資料傳輸,乙個程序需要將它的資料傳送給另乙個程序,傳送的資料量在乙個位元組到幾m之間;2、共享資料,多個程序想要操作共享資料,乙個程序對資料的修改,其他程序應該立刻看到;3、通知事件,乙個程序需要向另乙個或一組程序傳送訊息,通知它們發生了某件事情;4、資源共享,多個程序之間共享同樣的資源。為了做到這一點,需要核心提供鎖和同步機制;5、程序控制,有些程序希望完全控制另乙個程序的執行(如debug程序),此時控制程序希望能夠攔截另乙個程序的所有陷入和異常,並能夠及時知道它的狀態改變。
linux程序間通訊由以下幾部分發展而來:
早期unix程序間通訊:包括管道、fifo、訊號。
基於system v的程序間通訊:包括system v訊息佇列、system v訊號燈(semaphore)、system v共享記憶體。
基於socket程序間通訊。
基於posix程序間通訊:包括posix訊息佇列、posix訊號燈、posix共享記憶體。
ipcs命令是linux下顯示程序間通訊設施狀態的工具。我們知道,系統進行程序間通訊(ipc)的時候,可用的方式包括訊號量、共享記憶體、訊息佇列、管道、訊號(signal)、套接字等形式[2]。使用ipcs可以檢視共享記憶體、訊號量、訊息佇列的狀態。
ipcs - report status of interprocess communication facilities
ipcs displays certain information about active interprocess翻譯:communication facilities. with no options, ipcs displays information
in short format for the message queues, shared memory segments, and
semaphores that are currently active in the system.
ipcs顯示有關活動程序間通訊設施的某些資訊。如果沒有選項,ipcs將以短格式顯示系統中當前活動的訊息佇列、共享記憶體段和訊號量的資訊。
ipcs命令用於報告linux中程序間通訊設施的狀態,顯示的資訊包括訊息列表、共享記憶體和訊號量的資訊。
ipcs [resource …] [output-format]
ipcs [resource] -i
選項:-i, --id 列印由 id 標識的資源的詳細資訊
-h, --help 顯示此幫助並退出
-v, --version 輸出版本資訊並退出
資源選項:
-m, --shmems 共享記憶體段
-q, --queues 訊息佇列
-s, --semaphores 訊號量
-a, --all 全部(預設)
輸出格式:
-t, --time 顯示附加、脫離和更改時間
-p, --pid 顯示 pid 的建立者和最後操作
-c, --creator 顯示建立者和擁有者
-l, --limits 顯示資源限制
-u, --summary 顯示狀態摘要
–human 以易讀格式顯示大小
-b, --bytes 以位元組數顯示大小
#四、ipcs在linux使用截圖
部落格106 ipcs 檢視程序間通訊設施的狀態
內容 記錄ipcs命令作用,可以用來檢視系統程序間通訊設施的狀態 1.使用的格式 格式 ipcs 選項 引數 用法 ipcs resource output format ipcs resource i 2.可以選擇的選項 選項 i,id 列印由 id 標識的資源的詳細資訊 h,help 顯示此幫助...
ipcs 查詢程序間通訊狀態
ipcs是linux下顯示程序間通訊設施狀態的工具。可以顯示訊息佇列 共享記憶體和訊號量的資訊。對於程式設計師非常有用,普通的系統管理員一般用不到此指令。ipcs shared memory segments key shmid owner perms bytes nattch status sem...
程序間的通訊
程序間的通訊就麻煩一些了,訊號的種類就有 種,可以在終端中輸入kill l檢視!就先說幾個今天剛學的吧 sigint,這個訊號是由硬體產生的,比如按下ctrl c時就會產生這個訊號。sigalrm,這個訊號是由alrm unsigned int arg 函式產生的,就是間隔arg秒時間後產生siga...