如何告诉python等待shell(.sh)脚本

我正在从我的 python 代码调用一个 shell (.sh) 脚本,我想告诉 Python 在继续执行其余代码之前等待脚本结束。作为记录,该脚本正在调用 HPC 集群进行一些大约需要 40-50 分钟的计算。我可能会sleep()强迫 python 等待 40-50 分钟,但首先我并不总是知道应该等待的时间,其次我希望有一种更有效的方法来做到这一点。因此,脚本是通过使用调用的os.system("bsub < test.sh")

有什么方法可以告诉 python 等待脚本完成,然后继续执行其余代码?提前致谢

回答

我认为@Barmar在一些评论中确定了问题

当您运行时bsub,它会提交作业并立即返回,而不是等待完成。

你应该

  • -Karg添加到 bsub 以等待ref
  • 跳过bsub并直接运行脚本
  • 在脚本的末尾(可能是一个文件)写一些独立的标记,并让 Python 脚本在循环中检查它(可能每 1-5 秒一次,这样它就不会淹没该资源)
  • 用纯 Python 重新编写脚本并直接将其合并到您的逻辑中

以上是如何告诉python等待shell(.sh)脚本的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>