区别: fork主要是Linux用来建立新的进程而设计的,exec()系列函数则是用来指定的程序替换当前进程的全部内容。因此exec()系列函数常常在前三个函数使用以后调用,来建立一个全新的程序运行环境。Linux用init进程启动其余进程的过程通常都是这样的。 fork是最简单的调用,不须要任何参数,仅仅是在建立一个子进程并为其建立...
与fork的区别是不新开一个sub-shell来执行被调用的脚本,而是在同一个shell中执行. 所以被调用的脚本中声明的变量和环境变量, 都可以在主脚本中得到和使用. * exec (exec /directory/script.sh) exec与fork不同,不需要新开一个sub-shell来执行被调用的脚本. 被调用的脚本与父脚本在同一个shell内执行。 但是使...
1.执行source和exec的过程中没有产生新的进程,而fork是默认的运行方式,在运行的过程中会产生新的进程,也就是子进程 2.source和exec的区别在于exec执行完毕后没有输出进程,也就是说运行完毕2.sh后直接退出了,没有返回1.sh 3.fork和source的最后一句输出分别为:1.sh: $A is B (fork,说明...
据我所知,Linuxshellfork-execs每一个外部命令; 假设我上面说的是真的,结论是这些外部命令和Linux shell内部发生的任何其他执行都不能正常返回! 维基百科和其他一些网页声称,我们必须使用_exit()只是为了防止subprocess删除父的临时文件,而可能的双重刷新stdio缓冲区可能会发生。 虽然我理解前者,但是我没有线索,双缓冲...
与fork的区别是不新开一个sub-shell来执行被调用的脚本,而是在同一个shell中执行. 所以被调用的脚本中声明的变量和环境变量, 都可以在主脚本中得到和使用. * exec (exec /directory/script.sh) exec与fork不同,不需要新开一个sub-shell来执行被调用的脚本. 被调用的脚本与父脚本在同一个shell内执行。但是使用...