shell之source exec fork

fork 默认,在当前进程的子进程执行,执行完成后,退回到父进程


source  在当前进程执行,执行完成后,退回到父进程


exec  把当前进程关闭,重启一个进程执行。


exec与fork/source的根本区别:exec原有进程会终止,exec之后,原有进程不再执行;fork/source原有进程不会被终止,会继续被执行。


实例:1.sh


2.sh



sh 1.sh fork

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

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

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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值