免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: dulao5
打印 上一主题 下一主题

[函数] 大家不觉得fork和exec函数很奇怪吗? [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
21 [报告]
发表于 2006-06-17 08:26 |只看该作者
原帖由 dulao5 于 2006-6-16 17:35 发表
to 莫愁:
  只是开个玩笑

to lenovo大法师:
    对不起我的确没看到,但是就算看到这句,我还是要发这个帖子的。一个不返回的函数肯定是奇怪的。我已经想到了exec执行成功后,栈早就破坏了,所以不能返回。 ...

你的想象力很丰富,
可总是不切实际的,
你为什么就不能好好看看书呢?

如果 exec 成功,那么执行的是新的镜像,又何来“返回”一说呢?
就好像你可以说:
  1. 我吃完饭就去逛超市
复制代码

但是绝对不能说:
  1. 我自杀完就去逛超市
复制代码

道理是一样的。

exec 虽然有返回值,但是实际上你根本就不用校验这个返回值,
于是 linux kernel 里就有如下的代码:
  1. exec( "/sbin/init" );
  2. exec( "/etc/init" );
  3. exec( "/init" );
复制代码

这段代码是执行多个 init 的意思吗?
不是,
因为第一个 exec 一旦成功了,后面的就不可能被执行了。
反过来如果后面的代码被执行了,那只能说明前面的 exec 失败了。

记住一个规则:
exec 后面的语句,当切仅当 exec 失败时才会执行。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
22 [报告]
发表于 2006-06-17 08:28 |只看该作者
BTW:
不要老拿 UNIX 哲学说事,以你现在的水平,还不配讨论 UNIX 哲学。
还是先把基础打好吧。

论坛徽章:
0
23 [报告]
发表于 2006-06-17 09:03 |只看该作者
原帖由 flw 于 2006-6-17 08:28 发表
BTW:
不要老拿 UNIX 哲学说事,以你现在的水平,还不配讨论 UNIX 哲学。
还是先把基础打好吧。

unix哲学是什么?Do you understand ?If so, you should not say like this; if not, you also should not say like this.^_^

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
24 [报告]
发表于 2006-06-17 09:36 |只看该作者
学习一下。

论坛徽章:
0
25 [报告]
发表于 2006-06-17 12:32 |只看该作者
fork()是个好东西,没有fork()的日子怎么过啊。
在Windows下写程序,没有丝毫乐趣,就是因为没有fork()

论坛徽章:
0
26 [报告]
发表于 2006-06-17 12:46 |只看该作者
我发现现在牛人特多.

论坛徽章:
0
27 [报告]
发表于 2006-06-17 13:05 |只看该作者
原帖由 mingyanguo 于 2006-6-17 12:46 发表
我发现现在牛人特多.

告诉我几个,我去看看。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
28 [报告]
发表于 2006-06-17 13:10 |只看该作者
to 27 楼:
26 楼说的牛人指的是像 1 楼这样的“敢于怀疑一切、推翻一切”的牛人。

论坛徽章:
0
29 [报告]
发表于 2006-06-17 14:08 |只看该作者
如果你像我一样想自己写操作系统,那么可以完全不用什么fork()

论坛徽章:
0
30 [报告]
发表于 2006-06-17 14:11 |只看该作者
原帖由 flw 于 2006-6-17 13:10 发表
to 27 楼:
26 楼说的牛人指的是像 1 楼这样的“敢于怀疑一切、推翻一切”的牛人。

^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP