open的O_CLOEXEC参数和fstat()函数
背景:open(filename.c_str(), O_RDONLY | O_CLOEXEC)
O_CLOEXEC : 置位FD_CLOEXEC常量。
FD_CLOEXEC:如果置位了这个标志,则在执行exec时关闭该描述符, 否则该描述符任打开。
fstat() 函数
stat系统调用系列包括了fstat、stat和lstat,它们都是用来返回“相关文件状态信息”的,三者的不同之处在于设定源文件的方式不同。
里面的关键的问结构体:struct stat
这个结构体记录了文件描述符的相关信息。不同系统的实现可能不一样,现列举apue74页的相关内容:
1 struct stat 2 { 3 mode_t st_mode; 文件权限和文件类型信息 4 ino_t st_ino; 与该文件关联的inode 5 dev_t st_dev; 保存文件的设备 设备号 6 dev_t st_rdev; 特殊文件的保存文件的设备号 7 nlink_t st_nlink; 该文件上硬连接的个数 8 uid_t st_uid; 文件拥有者的用户ID 文件属主的UID号 9 gid_t st_gid; 文件属主的GID号 10 off_t st_size; 以字节为单位的文件长度, 此字段只对普通文件、目录文件和符号链接有意义 11 struct timespec st_atime; 文件上一次被访问的时间 12 struct timespec st_mtime; 文件的内容上一次被修改的时间 13 struct timespec st_ctime; 文件的权限、属主、组或内容上一次被修改的时间 14 blksize_t st_blksize; 15 blkcnt_t st_blocks; 16 17 };

浙公网安备 33010602011771号