范叶亮写智能体、模型和数据系统时,习惯先把定义和边界钉死。把「Shell 调用方式 fork,exec 和 source」整理成可落地的中文笔记:问题在哪、默认做法会踩什么坑、该怎么选。原站导航和广告已去掉。
fork
在 Linux 中调用一个脚本有多种方式,例如 fork,exec 和 source。其中 fork 为 Linux 系统调用,exec 和 source 均为 bash 内部命令。下面以 parent.sh 和 child.sh 两个脚本演示不同调用方式的区别。
#!/bin/bash echo "————————————————–" echo "Before calling child.sh" echo "————————————————–" echo "PID for parent.sh: $$ " var = "parent" export var echo "In parent.sh, set var= $var " echo "In parent.sh, variable var= $var " echo "————————————————–" case $1 in exec ) echo "Call child.sh using exec" exec ./child.sh ;; source ) echo "Call child.sh using source
exec
#!/bin/bash echo "————————————————–" echo "PID for child.sh: $$ " echo "In child.sh, variable var= $var from parent.sh" var = "child" export var echo "In child.sh, set var= $var " echo "In child.sh, variable var= $var " echo "————————————————–" 为了确保脚本可执行,需为其添加执行权限:
chmod +x parent.sh child.sh fork fork 通过进程复制来创建一个新进程,新进程称为子进程,当前进程称为父进程。在 fork 之后,子进程拥有父进程的副本,但两者的 PID 不同,同时子进程也拥有父进程的所有属性,例如:环境变量、打开的文件描述符等。
source
通过 fork 调用是最普遍的方式。在当前终端中通过 ./run.sh 执行时,终端会新建一个子 shell 执行 run.sh ,子 shell 执行时,父 shell 仍在运行,当子 shell 运行完毕后会返回父 shell。
————————————————– Before calling child.sh ————————————————– PID for parent.sh: 7149 In parent.sh, set var=parent In parent.sh, variable var=parent ————————————————– Call child.sh using fork ————————————————– PID for child.sh: 7150 In child.sh, variable var=parent from parent.sh In child.sh, set var=child In child.sh, variable
落地时建议先做的 5 件事
- 先写清任务能不能被自动验证:能验证的交给系统和评测,不能验证的留给人审。
- 本地部署先算显存、延迟和失败回滚,不要只看能跑通一次。
- 多智能体只在单智能体触到上下文或专业边界时再拆。
- Token、微调和压缩都要有对照数字,避免口号式优化。
- 结论写成可检查清单:接口、超时、评测集、回滚版本。
和智能体产品怎么接
龙虾PRO做 OpenClaw 落地时,最该拿走的是「单智能体先做好工具和提示,再谈编排」。数字员工、技能市场和网关应共用同一套评测与权限,而不是各写一套角色人设。
本文侧重全链路风控方法论。落地时请用自身业务单据做回放验证,不要把示例阈值直接当生产策略。 相关:风控体检 · 方案资源
常见问题 FAQ
什么是AI智能系统?
「AI智能系统」可概括为:在 Linux 中调用一个脚本有多种方式,例如 fork,exec 和 source。其中 fork 为 Linux 系统调用,exec 和 source 均为 bash 内部命令。下面以 parent.sh 和 child.sh 两个脚本演示不同调用方式的区别。 本文从定义、方法与实践要点展开说明。
为什么要关注AI智能系统?
关注AI智能系统,是因为它直接影响效率、风险与可复制性。文中指出:在 Linux 中调用一个脚本有多种方式,例如 fork,exec 和 source。其中 fork 为 Linux 系统调用,exec 和 source 均为 bash 内部命令。下面以 parent.sh 和 child.sh 两个脚本演示不同调用方式的区别。
如何落地AI智能系统?有哪些关键步骤?
建议按以下路径推进AI智能系统:1) 先写清任务能不能被自动验证:能验证的交给系统和评测,不能验证的留给人审。;2) 本地部署先算显存、延迟和失败回滚,不要只看能跑通一次。;3) 多智能体只在单智能体触到上下文或专业边界时再拆。;4) Token、微调和压缩都要有对照数字,避免口号式优化。;5) 结论写成可检查清单:接口、超时、评测集、回滚版本。。细节见正文对应章节。
AI智能系统适合哪些人或团队?
AI智能系统更适合:产品/技术负责人、运营与增长团队、需要落地智能体或自动化的中小团队、关注「AI智能系统」方向的读者。若你只需要单次聊天式问答,可先读概念;若要上生产,请重点看步骤、权限与风控相关段落。
关于「fork」,本文给出了什么结论?
在「fork」部分,要点是:x 中调用一个脚本有多种方式,例如 fork,exec 和 source。其中 fork 为 Linux 系统调用,exec 和 source 均为 bash 内部命令。下面以 parent.sh 和 child.sh 两个脚本演示不同调用方式的区别。 #!/bin/bash echo "————————————————–" echo "Before calling ch
关于「exec」,本文给出了什么结论?
在「exec」部分,要点是:脚本有多种方式,例如 fork,exec 和 source。其中 fork 为 Linux 系统调用,exec 和 source 均为 bash 内部命令。下面以 parent.sh 和 child.sh 两个脚本演示不同调用方式的区别。 #!/bin/bash echo "————————————————–" echo "Before calling child.sh"