dup、dup2,复制文件描述符

  int dup(int oldfd);  //返回文件描述表中没有被占用的最小可用的描述符,新旧描述符作用相同

  int dup2(int oldfd, int newfd);  //如果new已经被打开,先关闭再拷贝就会指向同一个文件,如果old和new是同一个就直接返回旧的

  不管这么复制,文件指针只有一个。

其余请参考:https://blog.csdn.net/silent123go/article/details/71108501

  

fcntl、修改已打开文件的属性

  int fcntl(int fd, int cmd, long arg)

  主要使用于获得/设置文件标记    F_GETFL (自读打开 O_RDONLY、只写打开 O_WRONLY、读写打开 O_RDWR、执行打开 O_EXEC、搜索打开目录 O_SEARCH、追加写 O_APPEND、非阻塞模式 O_NONBLOCK)

                 F_SETFL可更改几个标识(O_APPEND、O_NONBLOCK)

  

转载于:https://www.cnblogs.com/lr1402585172/p/10490716.html

dup、dup2、fcntl相关推荐

  1. 重定向(dup、dup2、dup3)--Linux

    文章目录

  2. dup、dup2实现文件描述符重定向(标准输入、标准输出、标准错误输出)

    目录 dup函数 dup2函数 重定向标准输入 重定向标准输出 重定向标准错误输出 重定向恢复 总结 在前文中,可以知道,文件描述符实际上是指向文件表项的指针数组索引,也就相当于每个文件描述符都对应一 ...

  3. Linux系统编程【文件IO、进程、进程间通信、信号、线程、互斥】

    linux系统编程 个人通过学习,手打了一份48000字的Linux系统编程的笔记,包含了[文件IO.进程.进程间通信.信号.多线程.互斥]等知识点,并给出了大量的代码案例对每个重要的知识点进行了代码 ...

  4. 高级 IO(非阻塞、多路复用、异步、存储映射、文件锁)

    目录 非阻塞I/O 阻塞I/O 与非阻塞I/O 读文件 阻塞I/O 的优点与缺点 使用非阻塞I/O实现并发读取 I/O 多路复用 何为I/O多路复用 select()函数 poll()函数 总结 异步 ...

  5. 九、Linux之dup和dup2函数

    九.Linux之dup和dup2函数 目录: 九.Linux之dup和dup2函数 一.重定向 二.dup()函数原型(dup--duplicate) int dup(int oldfd); 三.du ...

  6. dup、dup2介绍

    dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符.它们经常用来重定向进程的stdin.stdout和stderr.这两个函数的 原形如下: #include <un ...

  7. Linux文件系统【02】creat,open,close,read,write,lseek;ioctl,fcntl,dup,dup2,自定义创建文件命令

    目录 前言 1, open() 2,creat() 3, close() 4,自己写创建文件的命令(可以附加上权限设置,期待后续) 5, read() 6, write() 7, lseek() 8, ...

  8. linux中fcntl()、lockf、flock的区别

    fcntl().lockf.flock的区别 --lvyilong316 这三个函数的作用都是给文件加锁,那它们有什么区别呢?首先flock和fcntl是系统调用,而lockf是库函数.lockf实际 ...

  9. Linux文件,文件描述符以及dup()和dup2()

    一.Linux中文件 可以分为4种:普通文件.目录文件.链接文件和设备文件. 1.普通文件 是用户日常使用最多的文件,包括文本文件.shell脚本.二进制的可执行和各种类型的数据. ls -lh 来查 ...

最新文章

  1. 交换机运维需要注意哪些问题,让我们一起来闲聊下
  2. java获取被占用的文件进程_java – 进程无法访问该文件,因为它正被另一个进程使用...
  3. C++设计UDP协议通讯示例
  4. Js Tween 实现
  5. Android之Fragment
  6. java Iterator的next()、previous()、set()究竟指向哪里?
  7. ecshop添加商品选择品牌时如何按拼音排序
  8. C# 通过PostMessage完成UI的更新
  9. displaytag手册
  10. java 从sip服务器_如何通过域而不是IP地址注册到SIP服务器并从客户端创建SIP帐户?...
  11. Mtk touch panel驱动/TP驱动 详解
  12. 什么是 IP 冲突以及如何解决?
  13. [生存志] 第20节 历代大事件概览 隋朝
  14. python symbols函数_Python的武器库07:sympy模块
  15. beyond compare this license key has been revoked
  16. Word 恢复默认样式
  17. tnsping能成功却连不到目标数据库
  18. 小米air2se耳机只有一边有声音怎么办_双十一高性价蓝牙耳机排名,500元内真无线蓝牙耳机推荐...
  19. 网页学习——创建HTML框架(frameset、frame、iframe)
  20. java公寓管理系统_java公寓管理系统设计

热门文章

  1. Vue组件间通信:一个例子学会Vue组件-Vue.js学习总结)(转载)
  2. ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接
  3. Javascript常用的设计模式详解
  4. 根据DbSchema生成代码2
  5. 计算机怎么查看U盘品牌,如何查看电脑u盘使用
  6. java 图片去除黑边_根据 Map 上的变量绘制彩色和形状的点时,保持符号的黑色边框(geom_point)...
  7. 帆软决策报表嵌入html,在决策报表中使用网页框控件
  8. c++builder提高批量动态创建panel的速度_骑行时影响速度的事项有哪些 怎样有效提高骑行速度 单车租赁信息...
  9. php进度条插件,分享8款优秀的 jQuery 加载动画和进度条插件_jquery
  10. 基于matlab的人脸五官边缘检测方法,人脸边缘检测方法研究与仿真