程序間通訊 比較臉熟的ftok

2021-07-02 21:28:26 字數 763 閱讀 5064

老師在講這個函式時沒有什麼感覺,當我做了試驗後,其實也沒有什麼感覺。就是當我在改進實驗的時候,問題就來了,就在ftok()這齣的的錯誤。不過先不去了解它的作用來先說說為什麼要用它,共享記憶體,訊息佇列,訊號量它們三個都是找乙個中間介質,來進行通訊的,這中介質多的是。就是怎麼區分出來,就像唯一乙個身份證來來區分人一樣。你隨便來乙個就行,就是因為這。只要唯一就行,就想起來了檔案或目錄的節點,它是唯一的,但是直接用它來作識別好像不太好,不過可以用它來產生乙個號。ftok()就出場了。

還有乙個問題就是ftok()隨便侵犯人家的名字權,會對這個檔案造成不好的影響嗎?還有就是如果這個檔案或目錄設定許可權ftok()是不是就不能用了?進一步說如果在root使用者下可以用,那到一般使用者下是不是也可以呢?我先是google了一下,在csdn看到有討論這個問題的,不過那些大牛們說什麼的都有這裡。自己想了想,這個不是可以驗證的嗎?還搜什麼搜!果然我就驗證了。並知道了答案。答案就在下邊這個截圖中:

用到的**:

[cpp]view plain

copy

#include 

#include 

#include 

int main()  

printf("ftok ok ,semkey = %d\n", semkey);  

return 0;  

from: 

Linux程序間通訊 IPC 間比較

linux程序間通訊 ipc 方法主要有以下幾種 管道 fifo 共享記憶體 訊息佇列 訊號 1.管道中還有命名管道和非命名管道 即匿名管道 之分,非命名管道 即匿名管道 只能用於父子程序通訊,命名管道可用於非父子程序,命名管道就是fifo,管道是先進先出的通訊方式 2.訊息佇列是用於兩個程序之間的...

程序間通訊各方式間比較

管道 pipe 管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。有名管道 named pipe 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序間的通訊。訊號量 semophore 訊號量是乙個計數器,可以用來控制多個程序對...

程序間的通訊方式型別及其比較

管道 pipe 訊號量 semophore 訊息佇列 message queue 訊號 singal 共享記憶體 shared memory 套接字 socket 型別 無連線可靠 流控制記錄訊息型別 優先順序普通pipeny yn流pipeny yn命名pipe fifo ny yn訊息佇列ny ...