man*_*ers 3 python bash scripting
我可以从这样的bash脚本同时运行多个Python脚本;
#!/bin/bash
python pr1.py &
python pr2.py &
python aop.py &
python loader.py &
Run Code Online (Sandbox Code Playgroud)
但是如果我想要一个批次同时开火并且在它们运行之后,又开始更顺序地开始.这有用吗?:
#!/bin/bash
python pr1.py &
python pr2.py &
python ap.py &
python loader.py
python cain.py
python able.py
Run Code Online (Sandbox Code Playgroud)
v.c*_*der 17
一旦你把它放在最后,它就作为后台进程运行.因此所有脚本以&结尾并行运行.
要按顺序运行其他3个脚本,您可以尝试两个:
&& 仅当前面的脚本成功运行时才运行下一个脚本
python loader.py && python cain.py && python able.py
Run Code Online (Sandbox Code Playgroud)
|| 无论先前脚本的结果如何,都按顺序运行脚本
python loader.py || python cain.py || python able.py
Run Code Online (Sandbox Code Playgroud)
在你的bash脚本上你可以简单地添加如下wait命令:
#!/bin/bash
python pr1.py &
python pr2.py &
python ap.py &
wait
python loader.py
python cain.py
python able.py
Run Code Online (Sandbox Code Playgroud)
wait 显然,等待所有的工作(你解雇的后台进程)要完成继续.