Shell 调用方式 fork,exec 和 source

Shell 调用方式 fork,exec 和 source

💡 原文中文,约3900字,阅读约需10分钟。
📝

内容提要

在Linux中,调用脚本的方式有fork、exec和source。fork通过进程复制创建新进程,exec和source是bash内部命令。exec执行后父脚本中exec后的内容不再执行,而source执行后父脚本中source后的内容可以继续执行。

🎯

关键要点

  • 在Linux中调用脚本的方式有fork、exec和source。

  • fork是Linux系统调用,通过进程复制创建新进程。

  • exec和source是bash内部命令,exec执行后父脚本中exec后的内容不再执行。

  • source执行后父脚本中source后的内容可以继续执行。

  • fork方式调用时,子进程拥有父进程的副本,但PID不同。

  • exec方式调用时,不需要开启新的shell,父脚本exec后的内容不再执行。

  • source方式调用时,也不需要开启新的shell,父脚本source后的内容可以继续执行。

延伸问答

在Linux中,fork、exec和source的主要区别是什么?

fork通过进程复制创建新进程,exec和source是bash内部命令,exec后父脚本不再执行后续内容,而source后父脚本可以继续执行。

如何使用fork调用脚本?

使用fork调用脚本时,可以直接在终端中执行如`./parent.sh fork`的命令,子进程会复制父进程的环境变量等属性。

exec命令执行后会发生什么?

exec命令执行后,父脚本中exec之后的内容将不再执行,当前进程会被新脚本替代。

source命令的作用是什么?

source命令用于在当前shell中执行脚本,执行后父脚本中的source之后的内容可以继续执行。

fork调用时子进程和父进程有什么不同?

fork调用时,子进程是父进程的副本,但它们的PID不同,子进程拥有父进程的所有属性。

在执行脚本时,如何确保脚本可执行?

可以使用命令`chmod +x script_name`为脚本添加执行权限,以确保脚本可执行。

🏷️

标签

➡️

继续阅读