为了自动化模拟,我创建了一个bash脚本(参见beelow),并行运行3个python程序,每个程序都与套接字互连,每个程序都在一个新的终端中。(软件的行为要求3个子程序在单独的终端中运行)
#!/bin/bash
gnome-terminal -- ./orchestrator.py -c config/orchestrator/configWorstCaseRandomV.yml -v
gnome-terminal -- ./server.py -c config/server/config.yml -s config/server/systems/ault14mix.yml --simulate -v
gnome-terminal -- ./simulation/traces/simulate_traces.py -m September
我想做的是重新执行相同的3个pythons程序,但只有在之前的3个程序结束后才使用不同的参数。但在这里,这3个程序是同时启动的,我无法知道在我的bash脚本中何时结束
我试图简单地在脚本末尾添加相应的命令,但从逻辑上讲,它不会等到上一次模拟完成后才启动接下来的3个程序
所以我的问题是,在执行bash脚本的下一行之前,有没有办法知道程序何时在另一个终端结束
我假设gnome终端只用于并行运行程序,如果没有它,每个Python脚本都将在前台运行
在这种情况下,您可以在后台使用符号
&
(而不是gnome终端)运行它们,并使用$!
获取它们的进程ID,最后使用wait
命令等待它们,例如:相关问题 更多 >
编程相关推荐