Posix.1描述PosixIPC名字如下:
1 它必须符合已有的路径命名规则(必须最多有PATH_MAX个字节构成,包括结尾空字节)。
2 它必须以斜杠符开头,那么对这些函数的不同调用将访问同一队列。如果它不以斜杠符开头,那么效果取决与实现。
3 名字中额外的斜杠符的解释由实现定义
Richard Stevens在《UNIX网络编程卷2》中建议使用斜杠符开头作为IPC名字,但是我在Fedora14的实际应用中(以root),发现了一些不同,例如:
mqd_t mq_open (__const char *__name, int __oflag, ...)
参数name的命名,可以是“/xxx”或者“/xxx.x”的形式,但是不可以是“/xxx/xxx”或者是“/xxx/xxx.x”形式(例如Stevens介绍的/tmp/xxx是不行的),否则无
法得到mqd_t消息队列标示符号。对于有名信号量打开函数:
sem_t *sem_open (__const char *__name, int __oflag, ...)
它的__name命名规则与刚才描述的mq_open的name命名规则一致。略有不同的是,sem_open还支持“xxx”和“xxx.x”之类的不以斜杠符开头
的字符串作为name参数,mq_open则不可以。
另外Posix内存共享用的:
int shm_open (__const char *__name, int __oflag, mode_t __mode)
它的__name命名与sem_open一致。