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

如何用Shell脚本实现A.py运行期间循环并行执行B.py

解决方案

直接使用如下Bash脚本即可实现需求,兼容绝大多数主流Linux、macOS环境:

#!/bin/bash

# 后台启动A.py,记录其进程PID
python3 A.py &
A_PID=$!

# 循环判断A.py是否仍在运行,未结束则持续后台启动B.py
while ps -p "$A_PID" > /dev/null 2>&1; do
    python3 B.py &
    # 按需调整B.py的启动间隔,不加此行会无间隔启动B,极易占用满系统资源
    sleep 1
done

# 可选:A运行结束后等待所有已启动的B.py执行完成再退出主脚本
# wait

关键逻辑说明

  • & 标识将进程放到后台运行,不会阻塞后续命令执行
  • 内置变量$!会自动保存最近一个后台进程的PID,用于后续判断A.py的运行状态
  • ps -p $A_PID 用于检查指定PID的进程是否存活,输出重定向到/dev/null是为了避免打印多余的进程信息
  • 若你的环境中Python调用命令为python而非python3,直接替换脚本中对应的命令即可
  • 若需要给A.py、B.py传递运行参数,直接写在脚本文件名后即可,例如python3 A.py --config config.yaml &

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:24:05