【发布时间】:2021-05-11 18:40:30
【问题描述】:
我正在从我的 python 代码调用一个 shell (.sh) 脚本,我想告诉 Python 在继续执行其余代码之前等待脚本结束。作为记录,脚本调用 HPC 集群进行一些计算,大约需要 40-50 分钟。我可能会做sleep() 并强制 python 等待这 40-50 分钟,但首先我并不总是知道应该等待的时间量,其次我希望有一种更有效的方法来做到这一点。
因此,使用os.system("bsub < test.sh") 调用脚本。
有什么方法可以真正告诉 python 等到脚本完成,然后继续执行其余代码? 提前致谢
【问题讨论】:
-
os.system()已经在等待命令退出。您是否看到了不同的行为? -
我认为这里的问题是
bsub用于提交批处理作业。作业异步运行,bsub不会等待它完成。 -
不要使用
bsub,只运行脚本本身。