我今天开始学习命名管道。我读到要创建新的命名管道我必须使用此函数:nbytes
示例:
mkfifo (const char* nom, **mode_t mode**);
我的问题是为什么在第二个参数中我们开始使用" 0 "( 0 760) 我知道7给予所有者所有权限 6表示组可以读写 而另一个没有任何许可
答案 0 :(得分:1)
760
是小数(基数为10)
0760
[领先0]是八进制数(基数为8)
0x0760
[前导0x]是十六进制数(基数为16)
前导0实际上并不是数字的一部分,只是指示它是八进制,而不是十进制。
答案 1 :(得分:0)
正如John3136所指出的那样,前导“0”表示后面的“数字”(760)是八进制的,正如你所指出的那样,新管道的权限位将是rwxrw ----对于所有者,组和其他人。
答案 2 :(得分:-2)
第一位(' 0' of 0760)表示权限,包括执行位上的set-user-ID,执行位上的set-group-ID和粘滞位