我正在尝试并行启动 16 个 python 脚本。
我试着做
for i in {0..15}
do
python my_script.py "$i"
done
Run Code Online (Sandbox Code Playgroud)
但是检查我的htop这仅在一个处理器上运行。我猜这个过程是按顺序执行的。
我当然可以打开一个新选项卡并在每个选项卡中运行一个进程,但这似乎是多余的。什么是正确的方法呢?
您正在寻找&哪个将在后台运行作业:
for i in {0..15}
do
python my_script.py "$i" &
done
Run Code Online (Sandbox Code Playgroud)
这将同时启动所有 15 个。或者,对于更细粒度的控制,您可能需要查看GNU parallel。
有关各种 shell 控制运算符的更多信息,请参见此处。