[问题] shm_open 参数问题

楼主: eecheng87 (EEcheng)   2019-09-20 21:09:18
各位好, 最近在看POSIX用shared memory实作IPC system, 其中
出现了 shm_open这个函数, 而让我觉得困惑的是他的最后一个
参数 mode_t mode, 我在linux manual中看他描述这个函数的
所有参数却独独漏了最后一个 mode_t mode的描述, 而且恐龙
本也只简单说这个参数
establishes the directory permissions of the shared memory
object.
我想请问一下, 有人知道这个参数所对应的数字分别代表什么意思吗?
目前我看到的有0666和0777
以下附上范例呼叫方式:
shm_open(name, O_CREAT | O_DRAW, 0666)
另外补充一点, 我有看到资料有说若有O_CREAT才需要特别注意最后一个
参数, 其他只要填0即可
作者: Schottky (顺风相送)   2019-09-20 21:14:00
看 man page 的 creat (2) 就有详细介绍跟档案的 mode 一样意思,新开 shm 时以此为默认 mode这也就是有 O_CREAT 才需要指定 mode 的原因shm_open没写应该是假设你已经把open背到滚瓜烂熟了 XD如果看不懂 open / creat 的说明,建议可以再看看chmod (1) 和 chmod (2) 的 man page,1 是 shell 指令2 是 system call
楼主: eecheng87 (EEcheng)   2019-09-20 21:56:00
感谢大大提示,原来666是档案开到最大权限。可读可写。
作者: LPH66 (-6.2598534e+18f)   2019-09-21 01:24:00
777 才是喔, 因为还有执行权限

Links booklink

Contact Us: admin [ a t ] ucptt.com