我想在bash中并行运行多个脚本/命令。 这是bash脚本:
python test_script.py &
docker stop process &
docker stop process1 &
sleep(1)
wait
docker start process1 &
docker start process &
wait
在这里,我正在运行多个docker并希望在我的脚本python test_script.py运行时启动/停止docker。
对于ex:python脚本正在运行并且在并行上我想要停止进程& process1 docker。 python脚本仍在进行中,然后说等待或睡眠1分钟并再次启动该过程。
我怎样才能实现它?
答案 0 :(得分:1)
您可以合并以下规则:
X; Y运行X然后是Y,无论X
成功X&& Y如果X成功则运行Y
X || Y如果X失败则运行Y
X&在后台运行X.
答案 1 :(得分:1)
从原始描述中,我们似乎可以将问题组织成两个脚本
test_script.py
docker重启脚本说restart_docker.sh
,其中包含将按顺序执行的所有与docker相关的命令
docker stop process
sleep 1m
docker start process
使用GNU parallel
,您可以提供这两个脚本作为要并行执行的参数
parallel ::: 'python test_script.py' 'bash restart_docker.sh'