Linux C程序間通訊(預習內容八)

2021-07-23 04:05:10 字數 927 閱讀 4325

開啟/建立:

#include

#include

#include

int msgget(key_t key, int msg***)

(返回乙個msgget 的id)

key:鍵值,由ftok獲得。

msg***:標誌位。

返回值:與健值key相對應的訊息佇列描述字。

ipc_creat

建立新的訊息佇列。

建立:

在以下兩種情況下,將建立乙個新的訊息佇列:

1、如果沒有與健值key相對應的訊息佇列,並且 msg***中包含了ipc_creat標誌位。

2、key引數為ipc_private

ipc_excl

與ipc_creat一同使用,表示如果要建立的訊息佇列已經存在,則返回錯誤。

ipc_nowait

讀寫訊息佇列要求無法得到滿足時,不阻塞。

int open_queue(key_t keyval)

}

return (qid);

Linux C通訊間程序(預習內容二)

現在linux使用的程序間通訊方式包括 1.管道 pipe 和有名管道 fifo 2.訊號 signal 3.訊息佇列 4.共享記憶體 5.訊號量 6.套接字 socket 管道通訊 管道是單向的 先進先出的,它把乙個程序的輸出和另乙個程序的輸入連線在一起。乙個程序 寫程序 在管道的尾部寫入資料,另...

Linux C程序間通訊(預習內容四)

訊號型別 常見的訊號 sighup 從終端上傳送的結束訊號 sigint 來自鍵盤的中斷訊號 ctrl c sigkill 該訊號結束結束訊號的程序 sigterm kill命令發出的訊號 sigchld 標示子程序停止或結束的訊號 sigstop 來自鍵盤 ctrl z 或除錯程式的停止執行訊號 ...

Linux C程序間通訊(預習內容六)

共享記憶體 是被多個程序共享的一部分物理記憶體。共享記憶體是程序間共享資料的一種最快的方法,乙個程序向共享記憶體區域寫入了資料,共享這個記憶體區域的所有程序就可以立刻看到其中的內容。共享記憶體實現分為兩個步驟 一 建立共享記憶體,使用shmget函式。二 對映共享記憶體,將這段建立的共享記憶體對映到...