一、接口介绍
fcntl()系统调用对一个打开的文件描述符执行一系列控制操作。
#include <unistd.h>
#include <fcntl.h>
int fcntl(int fd, int cmd, ... /* arg */ );
参数:
fd: open 打开的文件描述符
cmd: 太多,请看参考文档
F_GETFD
F_SETFD (int) // 这类带参数的都是要用到arg
F_GETLK
F_SETLK (struct flock *)
F_GETFL
F_SETFL (int)
...
arg:具体要看cmd 是否需要
所以由上面可以看出,fcntl其实相当于有三种:
int fcntl(int fd, int cmd);
int fcntl(int fd, int cmd, long arg);
int fcntl(int fd, int cmd, struct flock *lock);
返回值:
For a successful call, the return value depends on the operation: