IPC通信中key_t key参数的选择

时间:2021-03-24 15:13:28

1.父子进程中可以使用IPC_PRIVATE,在fork之前调用,这样子进程之间和父子进程之间就可以共享IPC资源。

2.采用预定义方式,这种方式有可能冲突,但是比较直观,好理解,可以在程序中直接指定,也可以在配置文件中配置,程序读入。

3.采用key = ftok("shm.dat", 'R')函数自动获得,ftok函数的原型是key_t ftok( char * fname, int id ),fname就时你指定的文件名,id是子序号,
在一般的UNIX实现中,是将文件的索引节点号取出,前面加上子序号得到key_t的返回值,但是必须保证指定的fname存在,并且在使用过程中不被删除或者重新创建。