内核启动的时候默认打开这三个I/O设备文件:标准输入文件stdin,标准输出文件stdout,标准错误输出文件stderr,分别得到文件描述符 0, 1, 2。
你只是以自定义的文件代替了系统默认的设备文件,实现了输入输出的重定向。
open函数与openat函数功能类似,都是打开一个文件1.当path参数是绝对路径,两个函数一致
2.当path是相对路径,fd参数指出了相对路径名在文件系统的开始地址,
当然fd是通过打开相对路径所在的目录来获取,如下
DIR *d = opendir(path)
int fd = dirfd(d)
3.path是相对参数,fd参数具有特殊值AT_FDCWD,这种情况下,路径名在当前工作目录获取,这个时候openat和open功能类似。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)