当没有这个标志,打开文件时,得到的fd,

将会被子进程继承,并且子进程会获得这个fd的读写能力。

往往父进程打开的文件,不希望子进程读写,所以,子进程启动之后,可以手动关闭fd。

但是关闭fd的操作不是原子,因此可以在父进程调用open打开文件的时候,设置标志O_CLOEXEC,

从而使得子进程启动的时候,就把父进程继承而来的fd自动关闭。

参考:https://stackoverflow.com/questions/15447657/when-should-i-use-o-cloexec-when-i-open-file-in-linux

linux的打开文件标志O_CLOEXEC的更多相关文章

  1. 在linux下打开文件出现^M,^H

    0 Problem 在服务器上跑keras实验,然后用tee指令把实验结果保存在文本文件中. 文本文件在本机linux下用vim打开文件时会出现^M,^H.用sublime打开也会出现奇怪的字符. 1 ...

  2. Linux系统打开文件最大数量限制(进程打开的最大文件句柄数设置)

    ulimit  [-HSTabcdefilmnpqrstuvx  [limit]] 利用ulimit命令可以对资源的可用性进行控制. -H选项和-S选项分别表示对给定资源的硬限制(hard limit ...

  3. Linux最大打开文件描述符数

    1.    系统最大打开文件描述符数:/proc/sys/fs/file-max a.    查看 $ cat /proc/sys/fs/file-max 186405 2. 设置 a.    临时性 ...

  4. Linux中打开文件显示行号相关命令

    一.显示行号 :set number 或 :set nu 二.取消显示行号 :set nu! 三.每次打开显示行号 修改vi ~/.vimrc 文件,添加:set number

  5. linux下打开文件、编辑文本cat\gedit\nano

    cat: 文本编辑器:gedit.nano,要获得根权限,在前面加上sudo

  6. Linux文件描述符与打开文件之间的区别(转载)

    转载请说明出处:http://blog.csdn.net/cywosp/article/details/38965239   1. 概述     在Linux系统中一切皆可以看成是文件,文件又可分为: ...

  7. Linux中的文件描述符与打开文件之间的关系

    Linux中的文件描述符与打开文件之间的关系 导读 内核(kernel)利用文件描述符(file descriptor)来访问文件.文件描述符是非负整数.打开现存文件或新建文件时,内核会返回一个文件描 ...

  8. Linux中的文件描述符与打开文件之间的关系------------每天进步一点点系列

    http://blog.csdn.net/cywosp/article/details/38965239 1. 概述     在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件.目录文件. ...

  9. 每天进步一点点——Linux中的文件描写叙述符与打开文件之间的关系

    转载请说明出处:http://blog.csdn.net/cywosp/article/details/38965239 1. 概述     在Linux系统中一切皆能够看成是文件,文件又可分为:普通 ...

  10. linux 文件描述符表 打开文件表 inode vnode

      在Linux中,进程是通过文件描述符(file descriptors,简称fd)而不是文件名来访问文件的,文件描述符实际上是一个整数.Linux中规定每个进程能最多能同时使用NR_OPEN个文件 ...

随机推荐

  1. postgresql VACUUM 不会从表中删除死行的三个原因

    一.为什么是VACUUM? 每当更新或删除PostgreSQL表中的行时,都会留下死元组.VACUUM摆脱了它们,以便空间可以重复使用.如果一个表没有被清理,它就会变得臃肿,这会浪费磁盘空间并减慢表的 ...

  2. Canonical为所有支持的Ubuntu LTS系统发布了新的Linux内核更新

    Canonical近日为所有支持的Ubuntu LTS系统发布了新的Linux内核更新,以解决总共19个安全漏洞. 新的Ubuntu内核更新仅适用于长期支持的Ubuntu系统,包括Ubuntu 22. ...

  3. FTP调优

    最近在解决客户的问题时接触到了一些FTP的问题,自己在使用过程中发现了很多问题,所以这里总结了一些调优的办法: 服务:vsftp 非常安全文件传输 配置文件:/etc/vsftpd/vsftpd.co ...

  4. 使用git cz 时报模块找不到 使用commitizen init cz-conventional-changelog --save --save-exact --force 又报下面错 头晕

    使用git cz 时报模块找不到 使用commitizen init cz-conventional-changelog --save --save-exact --force 又报下面错 头晕 At ...

  5. linux安装grafana成功后,登录成功,几天后无法访问

    页面提示: 解决方法: 扩展磁盘空间 检查浏览器版本:升级浏览器版本

  6. C++实现顺序队列(循环队列)相关操作代码

    #include<iostream>#include<cstdlib>using namespace std;#define MAXSIZE 100#define OK 1#d ...

  7. dns服务之bind配置内网解析部分子域名,其它子域名转发

    bind配置内网解析部分子域名,其它子域名转发.以下以m.xxx.com和admin.xxx.com由内网dns解析,其它*.xxx.com转发给外网dns解析为例配置.文件/etc/named.co ...

  8. 有关谷歌下载PDF文件而不是直接打开预览的问题

    找了很多帖子,都不行, 解决方法把链接处理成blob文件再调用下载. 但是仍然不行,最终原因找到: 缺少了这一部创建,需要把二进制数据重新用 Blob对象申明下 let data = new Blob ...

  9. IIS 安装AspNetCoreModule托管模块

    IIS安装AspNetCoreModule托管模块 进入下载地址,选在对应的版本搜索 ASP.NET Core Module 下载x32或x64即可 下载地址: https://dotnet.micr ...

  10. redis底层数据结构之字典(dict)

    字典(dict) 字典又称为符号表或者关联数组.或映射(map),是一种用于保存键值对(key-value)的抽象数据结构 字典中的每个key都是唯一的,通过key对值来进行查找或修改,时间复杂度为 ...