Posted on 2009-07-14 21:49
Prayer 閱讀(872)
評論(0) 編輯 收藏 引用 所屬分類:
LINUX/UNIX/AIX
在IPC中,我們經常用用key_t的值來創建或者打開信號量,共享內存和消息隊列。這個在IPC的環境中十分的重要,比如說,服務器創建了一個消息隊列,等待客戶機發送請求。那么如何創建或者打開已有的消息隊列呢?一般而言,我們對于服務器使用的路徑和項目id(proj_id)是已知的,所以客戶機可以獲取相同的key來打開 消息隊列并進行操作。下面就是ftok的使用原型:
# include <sys/types.h>
# include <sys/ipc.h>
key_t ftok(const char *pathname, int proj_id);
注意:
1)pathname一定要在系統中存在
2)pathname一定是使用進程能夠訪問的
3)proj_id是一個1-255之間的一個整數值,典型的值是一個ASCII值。
當成功執行的時候,一個key_t值將會被返回,否則-1被返回。我們可以使用errno來確定具體的錯誤信息如果我們很懶惰的話,不妨就使用perror函數來答應對應的出錯字符信息。
下面的程序簡單的演示和打印如何使用ftok及其對應值