社区
C语言
帖子详情
为什么要复制文件描述符
yantao473
2012-09-05 09:12:02
if (-1 != (fd = open("/dev/null", O_WRONLY))) {
close(STDOUT_FILENO);
dup2(fd, STDOUT_FILENO);
close(fd);
}
这段代码中为什么要复制一个文件描述符?
...全文
74
1
打赏
收藏
为什么要复制文件描述符
if (-1 != (fd = open("/dev/null", O_WRONLY))) { close(STDOUT_FILENO); dup2(fd, STDOUT_FILENO); close(fd); } 这段代码中为什么要复制一个文件描述符?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
图灵狗
2012-09-05
打赏
举报
回复
这样就不需要反复的打开,而且保存起来将来可以复原。
Linux0.11内核main函数那些事
包括全局描述符表中的TSS0描述符和LDT0描述符的创建过程。与引导过程中全局描述符表及局部描述符表的创建过程构成了一个有机的知识块。在任务0从内核态切换到用户态过程中,可以学习到内核态堆栈与用户态堆栈概念...
复制
文件描述符
(dup、dup2函数) 和 文件共享
所谓文件共享指的是同一个文件(譬如磁盘上的同一个文件,对应同一个 inode)被多个独立的读写体同时进行 IO 操作。多个独立的读写体大家可以将其简单地理解为对应于同一个文件的多个不同的
文件描述符
,譬如多次打开同一个文件所得到的多个不同的 fd,或使用 dup()(或 dup2)函数
复制
得到的多个不同的 fd 等。
什么是
文件描述符
?以及文件描述的作用
对
文件描述符
的理解 在linux下一切皆文件,
文件描述符
是内核为了高效的管理已经被打开的文件所创建的索引,它是一个非负整数,用于指代被打开的文件,所有执行I/O操作的系统调用都是通过
文件描述符
完成的。 在linux中,进程是通过
文件描述符
(file descriptors 简称fd)来访问文件的,
文件描述符
实际上是一个整数。在程序刚启动的时候,默认有三个
文件描述符
,分别是:0(代表标准输入),1(代表标准输出),2(代表标准错误)。再打开一个新的文件的话,它的
文件描述符
就是3。 POSIX标准规定,每次打开
linux
文件描述符
0 1 2,
文件描述符
内核(kernel)利用
文件描述符
(file descriptor)来访问文件。
文件描述符
是非负整数。打开现存文件或新建文件时,内核会返回一个
文件描述符
。读写文件也需要使用
文件描述符
来指定待读写的文件。中文名
文件描述符
外文名file descriptor作用内核利用
文件描述符
来访问文件形式非负整数
文件描述符
提出前提编辑每一个
文件描述符
会与一个打开文件相对应,同时,不同的
文件描述符
也...
linux
文件描述符
详解,详解Linux
文件描述符
Linux内核(kernel)利用
文件描述符
(file descriptor)来访问文件。
文件描述符
是非负整数。打开现存文件或新建文件时,内核会返回一个
文件描述符
。在Linux系统中,读写文件也需要使用Linux
文件描述符
来指定待读写的文件。实际上,
文件描述符
是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个
文件描述符
。...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章