启动并行运行的进程

Aka*_*all 5 bash process

我正在尝试并行启动 16 个 python 脚本。

我试着做

for i in {0..15}
    do
    python my_script.py "$i"
    done 
Run Code Online (Sandbox Code Playgroud)

但是检查我的htop这仅在一个处理器上运行。我猜这个过程是按顺序执行的。

我当然可以打开一个新选项卡并在每个选项卡中运行一个进程,但这似乎是多余的。什么是正确的方法呢?

ter*_*don 7

您正在寻找&哪个将在后台运行作业:

for i in {0..15}
do
    python my_script.py "$i" &
done
Run Code Online (Sandbox Code Playgroud)

这将同时启动所有 15 个。或者,对于更细粒度的控制,您可能需要查看GNU parallel

有关各种 shell 控制运算符的更多信息,请参见此处