fork,exec,source】的更多相关文章

fork ( /directory/script.sh) fork是最普通的, 就是直接在脚本里面用/directory/script.sh来调用script.sh这个脚本. 运行的时候开一个sub-shell执行调用的脚本,sub-shell执行的时候, parent-shell还在. sub-shell执行完毕后返回parent-shell. sub-shell从parent-shell继承环境变量.但是sub-shell中的环境变量不会带回parent-shell exec (exec /…
参考:http://www.cnblogs.com/bkygg/p/5023072.html 1:fork  运行的时候开一个sub_shell 执行调用的脚本,sub_shell执行的时候,parent_shell还在.sub_shell执行完毕后返回parent_shell.sub_shell从parent_shell继承环境变量.但是sub_shell中的变量不会带回parent_shell.在子命令执行完后再执行父命令,子级的环境变量不会影响到父级 2:exec 执行子级的命令后,不再执…
原文链接:http://blog.chinaunix.net/uid-22548820-id-3181798.html fork ( /directory/script.sh) :如果shell中包含执行命令,那么子命令并不影响父级的命令.在子命令执行完后再执行父级命令,子级的环境变量不会影响到父级. fork是最普通的, 就是直接在脚本里面用/directory/script.sh来调用script.sh这个脚本.运行的时候开一个sub-shell执行调用的脚本,sub-shell执行的时候,…
exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两类:外部命令和内部命令.外部命令是通过系统调用或独立的程序实现的,如sed.awk等等.内部命令是由特殊的文件格式(.def)所实现,如cd.history.exec等等. 在说明exe和source的区别之前,先说明一下fork的概念. fork是linux的系统调用,用来创建子进程(child…
http://alsww.blog.51cto.com/2001924/1113112 http://stackoverflow.com/questions/1127502/start-stop-daemon-error注意脚本传参数的方法,--…
在linux shell编程中, 随着脚本处理规模的变大, 会嵌套调用子进程. 但父进程以不同的方式调用子进程, 其结果和背后的机制不尽相同.这边就简单描述下source/fork/exec调用子进程的区别. 编写如下脚本 executor.sh #! /bin/bash echo "script:$0, pid: $$" 分别以source/fork/exec调用子脚本的代码片段 echo "script:$0 pid: $$, tag 1" source ./e…
shell中sh, exec, source, fork, ./的区别 1,sh sh test.sh ​ sh是通过创建子进程(subshell)去执行脚本,父进程无法使用子进程中的变量,而子进程对环境变量的修改也不会影响到父进程.父进程中的局部变量子进程也无法使用,子进程会继承父进程的环境变量; ​ 脚本不需要执行权限 2,exec exec + command ./test.sh exec ​ 使用exec执行脚本,被执行的脚本会继承当前shell的环境变量,exec相当于创建了新进程,它…
? 原创: 铲子哥 搜狗测试 今天 shell编程的时候,往往不会把所有功能都写在一个脚本中,这样不太好维护,需要多个脚本文件协同工作.那么问题来了,在一个脚本中怎么调用其他的脚本呢?有三种方式,分别是fork.source和exec. 1. fork 即通过sh 脚本名进行执行脚本的方式.下面通过一个简单的例子来讲解下它的特性. 创建father.sh,内容如下: #!/bin/bash echo "父shell进程开始执行"…
转载:http://blog.csdn.net/liuxiao723846/article/details/78133375 一.场景一描述: 线上api接口服务通过log4j往本地磁盘上打印日志,在接口服务器上安装flume,通过exec source收集日志,然后通过avro sink发送到汇总服务器上的flume:汇总服务器上的flume通过avro source接收日志,然后通过file_roll sink写到本地磁盘. 假设:api接口服务器两台 10.153.140.250和10.1…
1.fork + exec fork用来创建一个子进程.一个程序一调用fork函数,系统就为一个新的进程准备了前述三个段,首先,系统让新的进程与旧的进程使用同一个代码段,因为它们的程序还是相同的,对于数据段和堆栈段,系统则复制一份给新的进程,这样,父进程的所有数据都可以留给子进程,但是,子进程一旦开始运行,虽然它继承了父进程的一切数据,但实际上数据却已经分开,相互之间不再有影响了,也就是说,它们之间不再共享任何数据了.而如果两个进程要共享什么数据的话,就要使用另一套函数(shmget,shmat…