如何在终端批量并行运行多个带解析参数的Python脚本
批量启动100个客户端实例的简便实现方案
不需要手动拼接长命令,根据你使用的终端环境选对应方法即可:
Bash/Zsh 环境(Linux、macOS 默认终端,WSL/Git Bash 也适用)
直接在终端执行一行循环命令即可:for i in {1..100}; do python client_k.py $i & done
命令逻辑是自动遍历1到100的序号,每个序号对应启动一个客户端进程,末尾的&会把进程放到后台运行,和你手动拼接长串命令的运行效果完全一致。如果需要等所有客户端都执行完再返回终端输入状态,在命令末尾加wait即可:for i in {1..100}; do python client_k.py $i & done; waitWindows 原生终端环境
- 若使用 CMD:执行
for /l %i in (1,1,100) do start /b python client_k.py %i,参数/b表示在当前终端后台启动进程,不会弹出100个独立的终端窗口。 - 若使用 PowerShell:执行
1..100 | ForEach-Object { Start-Process -NoNewWindow python -ArgumentList "client_k.py",$_ }
- 若使用 CMD:执行
跨平台通用方案(不依赖终端语法)
如果你不想记不同终端的命令差异,可以写一个极简单的Python启动脚本,全系统通用:import subprocess process_list = [] for client_id in range(1, 101): p = subprocess.Popen(["python", "client_k.py", str(client_id)]) process_list.append(p) # 取消下面的注释可以等待所有客户端执行完毕再退出启动脚本 # for p in process_list: # p.wait()把这个脚本和
client_k.py放在同一目录下,运行该脚本就能一次性拉起100个客户端实例。
小提示:如果你的系统中
python命令默认指向Python2版本,把上述所有命令和代码里的python替换成python3即可。
内容的提问来源于stack exchange,提问作者Jesus M.
相关产品推荐
相关产品推荐

