1. ssize_t read(int fd, void *buf,size_t nbytes)
返回讀取的字節(jié)數
2智润。大多數文件系統為改善性能都采用read ahead 預讀技術悍赢,當順序讀取時赫冬。系統會試圖讀入更多數據
3. int dup (int fd)
? ? int dup2(int oldfd,int newfd)
復制fd的數據結構到新的文件描述符,實則將新的文件描述符指向相同文件表項
4.delayed write
將數據寫到緩沖區(qū)中,排入隊列,晚一些寫入磁盤
sync (int fd);
將修改過的塊 緩沖區(qū)排入隊列中,不等待寫操作結束
fsync 等待寫操作位結束座硕,用于數據庫這樣的應用程序
5.文件狀態(tài)標志
O_RDONLY
O_WRONLY
之類的e
6.FD_CLOEexec 文件描述符標志
9.修改文件描述符標志或者文件狀態(tài)標志必須謹慎。先要獲取當前的值涕蜂,然后或操作
if((val? =fcntl(fd,F_GETFL,0)) < 0)
? ? err_sys()
val? |= flags; (標志修改 )