- 函数dup() dup2()
#include <unistd.h>
int dup(int fd);返回当前可用的文件描述符最小值。
int dup2(int fd, int fd2); 成功放回新的文件描述符,出错返回-1;
dup2()可用fd2指定新描述符的值。
- sync()、fsync()、fdatasync()函数
#include <unistd.h>
int fsync(int fd);
int fdatasync(int fd);成功返回0;出错返回-1;
void sync(void);
sync() 将所有的修改过的块缓冲区排入写队列,然后就返回,不等写磁盘操作结束。
fsync(),将fd指定文件起作用,等磁盘操作结束,返回。同步更新文件属性
fdatasync()类似fsync(),但是只影响文化的数据部分。
- fcntl 函数 改变已经打开文件属性。
#include <fcntl.h>
int fcntl(int fd,int cmd ,....);成功,则依赖cmd;出错,返回-1;