最近使用了epoll发现。在epoll_create返回的fd,被配置FD_CLOEXEC,是不起作用的。子进程可以继续使用它。并可以继续使用epoll_ctl增加侦听文件句柄。而父进程可以收到此句柄的读写事件。但是父进程由于没有此句柄,所以读失败。在高版本的epoll_create1(flags),此flags可以EPOLL_CLOEXEC,完成CLOEXEC的功能。——————————————
分类:
其他好文 时间:
2020-03-03 17:36:12
阅读次数:
79
转自:使用FD_CLOEXEC实现close-on-exec,关闭子进程无用文件描述符 我们经常会碰到需要fork子进程的情况,而且子进程很可能会继续exec新的程序。这就不得不提到子进程中无用文件描述符的问题! fork函数的使用本不是这里讨论的话题,但必须提一下的是:子进程以写时复制(COW,C ...
分类:
其他好文 时间:
2017-04-23 20:10:20
阅读次数:
125
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:
Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键
快捷键
加粗 Ctrl + B
斜体 Ctrl + I
引用 Ctrl...
分类:
其他好文 时间:
2015-04-08 15:09:47
阅读次数:
139
原 dup2()函数:
#include
int dup2( int fd, int fd2 );
对于 dup2,可以用 fd2 参数指定新描述符的值。如果 fd2 已经打开,则先将其关闭。如若 fd 等于 fd2,则 dup2 返回 fd2,而不关闭它。否则,fd2 的 FD_CLOEXEC 文件描述符标志就被清除,这样 fd2 在进程调用 exec 时是打开状态。该函数返回的新文件描...
分类:
其他好文 时间:
2015-01-07 20:54:57
阅读次数:
158
转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog) 前几天写了一篇博客,讲述了端口占用情况的查看和解决。 关于linux系统端口查看和占用的解决方案 大部分这种问题都能够解决,在文章的最后,提到了一种特殊情况,就是父子进程中的端口占用情况。父进程监听一个端口后,fork出一个子进程,然后kill掉父进程,再重启父进程,这个时候提示端口占用,用netstat...
分类:
系统相关 时间:
2014-12-02 17:20:51
阅读次数:
367
首先先回顾 apue 中对它的描述:① 表示描述符在通过一个 exec 时仍保持有效(书P63,3.14节 fcntl 函数,在讲 F_DUPFD 时顺便提到)② 对打开文件的处理与每个描述符的执行时关闭(close-on-exec)标志值有关。见图 3-1 节中对 FD_CLOEXEC 的说明,进...
分类:
其他好文 时间:
2014-11-21 20:20:43
阅读次数:
249