fcntl()函数的解析 |
您所在的位置:网站首页 › mknod函数 › fcntl()函数的解析 |
功能描述:根据文件描述词来操作文件的特性。
用法:
int fcntl(int fd, int cmd);
int fcntl(int fd, int cmd, long arg);
int fcntl(int fd, int cmd, struct flock *lock);
参数:
fd :文件描述词。
cmd :操作命令。
arg :供命令使用的参数。
lock :同上。
有以下操作命令可供使用
一 . F_DUPFD :复制文件描述词
。
二 . FD_CLOEXEC : 设置 close-on-exec 标志。 如果 FD_CLOEXEC 位是 0 , 执行 execve 的过程中,文件保持打开。反之则关闭。
三 . F_GETFD :读取文件描述词标志。
四 . F_SETFD :设置文件描述词标志。
五 . F_GETFL :读取文件状态标志。
六 . F_SETFL :设置文件状态标志。
其中 O_RDONLY ,
O_WRONLY ,
O_RDWR ,
O_CREAT ,
O_EXCL ,
O_NOCTTY 和
O_TRUNC 不受影响,
可以更改的标志有
O_APPEND , O_ASYNC ,
O_DIRECT ,
O_NOATIME 和
O_NONBLOCK 。
七 . F_GETLK, F_SETLK 和
F_SETLKW :获取,释放或测试记录锁,使用 到的参数是以下结构体指针:
F_SETLK :在指定的字节范围获取锁( F_RDLCK, F_WRLCK )或者释放锁 ( F_UNLCK )。如果与另一个进程的锁操作发生冲突,返回
-1 并将 errno 设 置为 EACCES 或 EAGAIN 。
F_SETLKW : 行为如同 F_SETLK , 除了不能获取锁时会睡眠等待外。 如果在等 待的过程中接收到信号,会立即返回并将 errno 置为 EINTR 。
F_GETLK :获取文件锁信息。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |