日期:2014-05-16  浏览次数:20705 次

关于mode_t参数的使用!!!祈求您的帮助···先谢谢了···
我在看linux的时候看到一个函数:mkfifo(···,mode_t mode)建立管道的函数
书上的例子里面这个函数的mode_t参数用的是0777,这个0777和umask掩码怎么联系在一起使用啊???掩码是3位的如:077,这里的mode_t多了一位啊?怎么使用的呢???祈求您的帮助···先谢谢了啊···
------解决方案--------------------
http://blog.csdn.net/flingblue/archive/2006/12/07/1434108.aspx
看看这个。
------解决方案--------------------
呵呵,蛋蛋怎么跑这个板块来了?

其实那个mode_t没什么神秘的,说白了就是个整数,在内核里面定义如下:

typedef unsigned short __kernel_mode_t;
typedef __kernel_mode_t mode_t;

书上的例子写0777,实际上最高位的0是没用的,也就是说设备的权限被设置成了所有用户都可读可写且可执行,

就是权限最大的777。如果掩码是077这样的,那直接往整数里面存就行了,读出来的时候,前面的都是零不用管

,后面的依然是77