fcntl()函数的解析

您所在的位置:网站首页 mknod函数 fcntl()函数的解析

fcntl()函数的解析

#fcntl()函数的解析| 来源: 网络整理| 查看: 265

 

功能描述:根据文件描述词来操作文件的特性。

 

 

 

用法:

  

 

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