谁能解释一下linux文件描述符大小标志?

nginx核心讲解《上篇》
&&&&&& nginx2009lighttpdnginx
&&&&&& lighttpdnginxlighttpdnginxlighttpdnginxlighttpdnginxnginx
&&&&&& nginxnginx:)
&&&&&& centos 6.232centos
6.2nginx1.2.0
nginxnginxforkforknginx
&&&&&& nginxngx_master_process_cycle()ngx_start_worker_processes()forkngx_worker_process_cycle()forngx_master_process_cycle()for
&&&&&& nginxUpstream7create_requestprocess_headerinput_filterHTTPNginxWebMemcache
Load-balance
Load-balance/
&&&&&& Load-balance4
&&&&&& Nginxround_robinupstreamip_hashupstream
Filename : nginx.conf
&&&&&&&&upstream
load_balance {
&&&&&&&&&&&&&&&&ip_
&&&&&&&&&&&&&&&&server
localhost:8001;
ip_hashuscf-&peer.init_upstreamip_hashNginxip_hash
Filename : objs/ngx_modules.c
#include &ngx_config.h&
#include &ngx_core.h&
extern ngx_module_t& ngx_core_
extern ngx_module_t& ngx_errlog_
extern ngx_module_t& ngx_conf_
extern ngx_module_t& ngx_events_
extern ngx_module_t& ngx_event_core_
extern ngx_module_t& ngx_epoll_
extern ngx_module_t& ngx_regex_
extern ngx_module_t& ngx_http_
extern ngx_module_t& ngx_http_core_
extern ngx_module_t& ngx_http_log_
extern ngx_module_t& ngx_http_upstream_
extern ngx_module_t& ngx_http_static_
extern ngx_module_t& ngx_http_autoindex_
extern ngx_module_t& ngx_http_index_
extern ngx_module_t& ngx_http_auth_basic_
extern ngx_module_t& ngx_http_access_
extern ngx_module_t& ngx_http_limit_conn_
extern ngx_module_t& ngx_http_limit_req_
extern ngx_module_t& ngx_http_geo_
extern ngx_module_t& ngx_http_map_
extern ngx_module_t& ngx_http_split_clients_
extern ngx_module_t& ngx_http_referer_
extern ngx_module_t& ngx_http_rewrite_
extern ngx_module_t& ngx_http_proxy_
extern ngx_module_t& ngx_http_fastcgi_
extern ngx_module_t& ngx_http_uwsgi_
extern ngx_module_t& ngx_http_scgi_
extern ngx_module_t& ngx_http_memcached_
extern ngx_module_t& ngx_http_empty_gif_
extern ngx_module_t& ngx_http_browser_
extern ngx_module_t& ngx_http_upstream_ip_hash_
extern ngx_module_t& ngx_http_upstream_keepalive_
extern ngx_module_t& ngx_http_write_filter_
extern ngx_module_t& ngx_http_header_filter_
extern ngx_module_t& ngx_http_chunked_filter_
extern ngx_module_t& ngx_http_range_header_filter_
extern ngx_module_t& ngx_http_gzip_filter_
extern ngx_module_t& ngx_http_postpone_filter_
extern ngx_module_t& ngx_http_ssi_filter_
extern ngx_module_t& ngx_http_charset_filter_
extern ngx_module_t& ngx_http_userid_filter_
extern ngx_module_t& ngx_http_headers_filter_
extern ngx_module_t& ngx_http_copy_filter_
extern ngx_module_t& ngx_http_range_body_filter_
extern ngx_module_t& ngx_http_not_modified_filter_
ngx_module_t *ngx_modules[] = {
&&&&&ngx_core_module,
&&&&&ngx_errlog_module,
&&&&&ngx_conf_module,
&&&&&ngx_events_module,
&&&&&ngx_event_core_module,
&&&&&ngx_epoll_module,
&&&&&ngx_regex_module,
&&&&&ngx_http_module,
&&&&&ngx_http_core_module,
&&&&&ngx_http_log_module,
&&&&&ngx_http_upstream_module,
&&&&&ngx_http_static_module,
&&&&&ngx_http_autoindex_module,
&&&&&ngx_http_index_module,
&&&&&ngx_http_auth_basic_module,
&&&&&ngx_http_access_module,
&&&&&ngx_http_limit_conn_module,
&&&&&ngx_http_limit_req_module,
&&&&&ngx_http_geo_module,
&&&&&ngx_http_map_module,
&&&&&ngx_http_split_clients_module,
&&&&&ngx_http_referer_module,
&&&&&ngx_http_rewrite_module,
&&&&&ngx_http_proxy_module,
&&&&&ngx_http_fastcgi_module,
&&&&&ngx_http_uwsgi_module,
&&&&&ngx_http_scgi_module,
&&&&&ngx_http_memcached_module,
&&&&&ngx_http_empty_gif_module,
&&&&&ngx_http_browser_module,
&&&&&ngx_http_upstream_ip_hash_module,
&&&&&ngx_http_upstream_keepalive_module,
&&&&&ngx_http_write_filter_module,
&&&&&ngx_http_header_filter_module,
&&&&&ngx_http_chunked_filter_module,
&&&&&ngx_http_range_header_filter_module,
&&&&&ngx_http_gzip_filter_module,
&&&&&ngx_http_postpone_filter_module,
&&&&&ngx_http_ssi_filter_module,
&&&&&ngx_http_charset_filter_module,
&&&&&ngx_http_userid_filter_module,
&&&&&ngx_http_headers_filter_module,
&&&&&ngx_http_copy_filter_module,
&&&&&ngx_http_range_body_filter_module,
&&&&&ngx_http_not_modified_filter_module,新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
空间积分0 信誉积分100 UID阅读权限10积分128帖子精华可用积分128 专家积分0 在线时间13 小时注册时间最后登录
白手起家, 积分 128, 距离下一级还需 72 积分
帖子主题精华可用积分128 专家积分0 在线时间13 小时注册时间最后登录
论坛徽章:0
书上说“当子进程exec一个新的程序时,调用进程中打开的文件描述符仍然保持打开,但设置了执行即关FD_CLOEXEC的文件描述字除外。如果该标志设置,则描述字在exec时将被关闭。否则该描述字在exec后仍保持打开。”
&&这句话是不是这样理解的:调用进程是指调用exec的那个子进程,如果在子进程中的某个文件描述字该标志设为了1,则子进程exec后该文件描述字就被关闭?否则就仍为打开???可是exec后子进程不就退出了吗???还有什么文件描述字没有关闭呢???不知道怎么理解??望高手解释下。
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
空间积分0 信誉积分401 UID44767阅读权限100积分14923帖子精华可用积分14923 专家积分275 在线时间4141 小时注册时间最后登录
帖子主题精华可用积分14923 专家积分275 在线时间4141 小时注册时间最后登录
论坛徽章:1
请教文件描述符标志FD_CLOEXEC设置怎样理解??
&;&;可是exec后子进程不就退出了吗???
你都没理解exec的真正意思。
空间积分0 信誉积分136 UID102208阅读权限20积分402帖子精华可用积分402 专家积分0 在线时间64 小时注册时间最后登录
稍有积蓄, 积分 402, 距离下一级还需 98 积分
帖子主题精华可用积分402 专家积分0 在线时间64 小时注册时间最后登录
论坛徽章:0
请教文件描述符标志FD_CLOEXEC设置怎样理解??
我也不太明白这个问题
 (\&`-\'\'-/\&).___..--\'\'\&`-._
  `6_ 6 )  `-. (   ).`-.__.`) 
  (_Y_.)\' ._  ) `._ `. ``-..-\' 
  `--\'_..-_/ /--\'_.\' ,\'      
(ll).-\'\' (((!.\' ((!.-\'
空间积分0 信誉积分100 UID阅读权限10积分128帖子精华可用积分128 专家积分0 在线时间13 小时注册时间最后登录
白手起家, 积分 128, 距离下一级还需 72 积分
帖子主题精华可用积分128 专家积分0 在线时间13 小时注册时间最后登录
论坛徽章:0
请教文件描述符标志FD_CLOEXEC设置怎样理解??
是我说错了,应该是exec后新进程就退出了。
exec后,由新进程的地址空间替代调用进程的地址空间,对于原调用进程的地址空间会被释放掉。
那么所谓的调用进程中打开的文件描述字仍保持打开是指在exec的新进程中保持打开吗??(好像不对吧??)原进程都的地址空间都被释放了,还怎么保持这个文件描述字呢??
请lenovo版主赐教。谢谢。
空间积分0 信誉积分401 UID44767阅读权限100积分14923帖子精华可用积分14923 专家积分275 在线时间4141 小时注册时间最后登录
帖子主题精华可用积分14923 专家积分275 在线时间4141 小时注册时间最后登录
论坛徽章:1
请教文件描述符标志FD_CLOEXEC设置怎样理解??
》》对于原调用进程的地址空间会被释放掉。
你从哪里理解的这句话?
》》那么所谓的调用进程中打开的文件描述字仍保持打开是指在exec的新进程中保持打开吗?
这个你的理解是对的,不要怀疑。
书中自有黄金屋~
空间积分0 信誉积分867 UID59939阅读权限100积分20167帖子精华可用积分20167 专家积分1565 在线时间7264 小时注册时间最后登录
帖子主题精华可用积分20167 专家积分1565 在线时间7264 小时注册时间最后登录
论坛徽章:1
请教文件描述符标志FD_CLOEXEC设置怎样理解??
吧exec看作是对原来进程的一个“注入”吧,没有另起一个,终止一个的说法。再说了,进程终止,进程的空间,也不叫“释放”啊!进程空间,这个概念要好好理解。
空间积分0 信誉积分100 UID阅读权限10积分128帖子精华可用积分128 专家积分0 在线时间13 小时注册时间最后登录
白手起家, 积分 128, 距离下一级还需 72 积分
帖子主题精华可用积分128 专家积分0 在线时间13 小时注册时间最后登录
论坛徽章:0
请教文件描述符标志FD_CLOEXEC设置怎样理解??
呵呵。首先谢谢大家的帮助。
我是在《unix环境高级编程》下看的说:
1。exec函数调用成功时系统将用一个新程序的地址空间替代调用进程的地址空间并装入新进程的内容;而对于老的地址空间如果是由fork创建的则释放,如果是由vfork创建的则返回老的地址空间给父进程。
2。exec用新程序的地址空间覆盖当前程序的地址空间时,它只覆盖正文段,数据段和栈段。
[知否興風狂嘯者,回眸時看 ...
空间积分0 信誉积分236 UID171306阅读权限90积分12880帖子精华可用积分12880 专家积分51 在线时间1813 小时注册时间最后登录
大富大贵, 积分 12880, 距离下一级还需 7120 积分
帖子主题精华可用积分12880 专家积分51 在线时间1813 小时注册时间最后登录
论坛徽章:0
请教文件描述符标志FD_CLOEXEC设置怎样理解??
什么是新进程?就是exec一个程序(磁盘上的某个可执行程序,二进制的或脚本解释的),把这个可执行程序文件给load进内存,用它的text段、data段、stack段等替代fork()出来的那个进程,就是子进程,继承过来的那些。
总觉得好多人把进程跟程序搞混,其实区别很重要呢
 平生自有千秋在,不向群兒問毀譽!
 爱国主义是群氓的道德安全套。
 有些爱国青年想必是为人做了太多blowjob,不然为何张口便吐生殖器?
 Feel free to ask questions by 站内短信, and I'll feel free to ignore you.
空间积分0 信誉积分100 UID阅读权限10积分128帖子精华可用积分128 专家积分0 在线时间13 小时注册时间最后登录
白手起家, 积分 128, 距离下一级还需 72 积分
帖子主题精华可用积分128 专家积分0 在线时间13 小时注册时间最后登录
论坛徽章:0
请教文件描述符标志FD_CLOEXEC设置怎样理解??
albcamus兄所说的在操作系统教材里都明确讲过了,偶知道的说,那就是调用进程的栈段空间被覆盖了哦。
那原来调用进程的文件描述字变量所存放的栈空间(假设该文件描述字是个局部变量在进程的栈空间)不就被覆盖了吗??
然后又由于FD_CLOEXEC被设置为了0,则在exec的新进程中还存在这个文件描述字,怎么感觉像继承样的阿.
[知否興風狂嘯者,回眸時看 ...
空间积分0 信誉积分236 UID171306阅读权限90积分12880帖子精华可用积分12880 专家积分51 在线时间1813 小时注册时间最后登录
大富大贵, 积分 12880, 距离下一级还需 7120 积分
帖子主题精华可用积分12880 专家积分51 在线时间1813 小时注册时间最后登录
论坛徽章:0
请教文件描述符标志FD_CLOEXEC设置怎样理解??
打开的文件,操作系统要为每个进程维护一张表,不是简单的放在进程的Stack就完事儿啊。而且,stack、text、bss、data那些概念,都是用户进程空间的,进程还有系统空间啊,这个就不是它自个儿说了算的了:-)
 平生自有千秋在,不向群兒問毀譽!
 爱国主义是群氓的道德安全套。
 有些爱国青年想必是为人做了太多blowjob,不然为何张口便吐生殖器?
 Feel free to ask questions by 站内短信, and I'll feel free to ignore you.
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
空间积分0 信誉积分213 UID阅读权限20积分899帖子精华可用积分899 专家积分0 在线时间480 小时注册时间最后登录
丰衣足食, 积分 899, 距离下一级还需 101 积分
帖子主题精华可用积分899 专家积分0 在线时间480 小时注册时间最后登录
论坛徽章:0
文件描述符,文件描述符标志,文件状态标志三者区别
以下内容来自UNIX环境高级编程(第2版)的相关章节(第三章)
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
麦田守望者
空间积分0 信誉积分173 UID7353309阅读权限2积分1145帖子精华可用积分1145 专家积分10 在线时间261 小时注册时间最后登录
帖子主题精华可用积分1145 专家积分10 在线时间261 小时注册时间最后登录
论坛徽章:0
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
空间积分2 信誉积分2461 UID7789873阅读权限90积分21054帖子精华可用积分21054 专家积分11 在线时间6039 小时注册时间最后登录
巨富豪门, 积分 21054, 距离下一级还需 18946 积分
帖子主题精华可用积分21054 专家积分11 在线时间6039 小时注册时间最后登录
论坛徽章:31
老大,文件描述符标志 这种东西,我自出生以来,就没听说过
人在CU飘,挨刀我就跑
空间积分2 信誉积分427 UID426110阅读权限70积分5125帖子精华可用积分5125 专家积分55 在线时间751 小时注册时间最后登录
富足长乐, 积分 5125, 距离下一级还需 2875 积分
帖子主题精华可用积分5125 专家积分55 在线时间751 小时注册时间最后登录
论坛徽章:0
文件描述符就是一个数字,操作系统知道它对应哪一个以打开的文件。
第二个没有听说过。
第三个是文件属性,属于文件系统保存的内容,通过stat来访问。
最后的DV作品,欢迎围观:
空间积分0 信誉积分213 UID阅读权限20积分899帖子精华可用积分899 专家积分0 在线时间480 小时注册时间最后登录
丰衣足食, 积分 899, 距离下一级还需 101 积分
帖子主题精华可用积分899 专家积分0 在线时间480 小时注册时间最后登录
论坛徽章:0
明白了,谢谢大家
空间积分0 信誉积分112 UID阅读权限10积分3帖子精华可用积分3 专家积分0 在线时间7 小时注册时间最后登录
白手起家, 积分 3, 距离下一级还需 197 积分
帖子主题精华可用积分3 专家积分0 在线时间7 小时注册时间最后登录
论坛徽章:0
讲得很清楚,原文的链接在哪里呀?
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处当前位置: >
> 文件描述符标示 文件状态标志
文件描述符标示 文件状态标志
mzzyd1017 & at
文件描述符标志 文件状态标志最近在看unix环境高级编程……有两个地方不懂,百度了一圈也没找到满意答案!望大家不吝赐教!文件描述符标志 文件状态标志这两个名词是什么意思啊?请大家详细解释,最好配上例子,谢谢了!
文件描述符标志设置见 int fcntl(int fd , int cmd,...);& 文件状态标志的设置见 void set_fl(int fd, int flags);
void clr_fl(int fd, int flags);
n0th1ng & &
& & (0)(0)引用书中的例子:对于指定的描述符打印文件标志
:是对文件描述符(文件描述符0与进程的标准输入相关联,文件描述符1与标准输出相关联,文件描述符2与标准出错相关联………………)的文件标志即他的类似权限的东西。0只能用它进行输入从中读取内容,1可以写也可以追加ming@ming-ThinkPad-Edge:~/src/chapter3$ ./a.out 0 &data& read only ming@ming-ThinkPad-Edge:~/src/chapter3$ ./a.out 1 &dataming@ming-ThinkPad-Edge:~/src/chapter3$ cat datawrite onlyming@ming-ThinkPad-Edge:~/src/chapter3$ :&dataming@ming-ThinkPad-Edge:~/src/chapter3$ ./a.out 1 &&dataming@ming-ThinkPad-Edge:~/src/chapter3$ cat datawrite only, appendming@ming-ThinkPad-Edge:~/src/chapter3$ :&dataming@ming-ThinkPad-Edge:~/src/chapter3$ ./a.out 2 2&datawrite onlyming@ming-ThinkPad-Edge:~/src/chapter3$ cat dataming@ming-ThinkPad-Edge:~/src/chapter3$ ./a.out 2 2&&datawrite only, append以上纯属个人观点.PS:本人水平不高,正在看此书,如有错误请见谅n0th1ng & &
& & (0)(0)引用
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-}

我要回帖

更多关于 socket文件描述符 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信