免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 網中人

[学习共享] shell 十三問? [复制链接]

论坛徽章:
0
发表于 2004-05-20 05:39 |显示全部楼层

shell 十三問?

谢谢楼主细心的整理及编辑

论坛徽章:
0
发表于 2004-05-20 16:22 |显示全部楼层

shell 十三問?

网版主:
你在第6问中说:
* exec 也是讓 script 在同一個行程上執行,但是原有行程則被結束了。
也就是簡而言之:原有行程會否終止,就是 exec 與 source/fork 的最大差異了。
我在执行1.sh后得到下结果

$ ./1.sh fork
PID for 1.sh before exec/source/fork:4617
1.shA is B
using fork by default...
PID for 2.sh:4618
2.sh get $A=B from 1.sh
2.shA is C
PID for 1.sh after exec/source/fork:4617
1.shA is B

$ ./1.sh exec
PID for 1.sh before exec/source/fork:4634
1.shA is B
using exec...
PID for 2.sh:4634
2.sh get $A=B from 1.sh
2.shA is C

$ ./1.sh source
PID for 1.sh before exec/source/fork:4641
1.shA is B
using source..
PID for 2.sh:4641
2.sh get $A=B from 1.sh
2.shA is C
PID for 1.sh after exec/source/fork:4641
1.shA is C

在参数是fork和source时,运行的结果比较好理解。但是在参数是exec时,我的理解是:按照网版主的说法,原有的进程被中止了,又开了一个新进程,但是进程号是一样的,但其实并不是同一个进程了,所以在脚本最后的一个显示就没有了,我的理解对吗?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2004-05-20 23:16 |显示全部楼层

shell 十三問?

若 PID 是一至的,那就不是"新"的行程。

论坛徽章:
0
发表于 2004-05-21 09:10 |显示全部楼层

shell 十三問?

网版主,
请看:
$ ./1.sh exec
PID for 1.sh before exec/source/fork:4634
1.shA is B
PID for 2.sh:4634
2.sh get $A=B from 1.sh
2.shA is C

PID for 1.sh和PID for 2.sh,它们是一致的。那么怎么理解“exec 也是讓 script 在同一個行程上執行,但是原有行程則被結束了”这句话哪?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
发表于 2004-05-21 15:52 |显示全部楼层

shell 十三問?

也就是 1.sh 與 2.sh 都在同一行程,但 1.sh 在轉交給 2.sh 的同時,1.sh 也就結束了。
因此,1.sh 後面的 command line 也就不跑了(都結束了怎跑?)

然後,你再思考一下:這與 source 有何不同?(source 也在同一行程哦)

论坛徽章:
0
发表于 2004-05-28 12:41 |显示全部楼层

shell 十三問?

我是才开始学shell 的,好东西,先收藏!

论坛徽章:
0
发表于 2004-06-02 13:36 |显示全部楼层

shell 十三問?

高手就是这样练成的,帖子看多了,自然就是高手了。
前提是你不是弱智

论坛徽章:
0
发表于 2004-06-10 16:32 |显示全部楼层

shell 十三問?

d

论坛徽章:
0
发表于 2004-06-11 14:17 |显示全部楼层

shell 十三問?

深刻方能简洁
读罢自当留名

论坛徽章:
0
发表于 2004-06-11 18:03 |显示全部楼层

shell 十三問?

楼主太强了.
简直诲人不倦。
最近刚好在学SHELL,挖到宝了。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP