You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins中parallel并行阶段是不同进程还是仅为不同线程?

结论

你示例中parallel块内的两个任务最终会作为独立的操作系统进程运行,并非同一进程下的不同线程。


具体原因

  • 首先Jenkins的sh步骤本身的设计就是每次执行都会生成独立临时shell脚本,由agent节点fork出全新的系统进程调用系统shell(如bash、sh等)执行该脚本,每次sh调用对应独立的进程空间,资源分配完全由操作系统隔离。
  • 至于parallel的调度逻辑:同一node节点下的parallel分支确实是在Jenkins agent进程的不同线程中做调度管理,但这只是Jenkins任务调度层的实现,和你实际执行的sh命令对应的程序运行环境无关,两个sh触发的./firstProgram和./secondProgram都是完全独立的进程,互不共享内存空间。

验证方法

你可以修改代码直接验证,把sh命令替换成输出当前进程ID的逻辑,就能直观看到两个进程的PID不同:

node {
   parallel (
     phase1: { sh "echo phase1 进程ID: \$\$ && sleep 10" },
     phase2: { sh "echo phase2 进程ID: \$\$ && sleep 10" }
   )
}

执行后控制台会输出两个不同的PID,即可确认是独立进程。

内容的提问来源于stack exchange,提问作者msm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 09:48:03