我有一堆作业要提交到 PBS 队列,并且输出应该在之后在本地进行后处理。由于作业相似(而且我不想经常手动更改它),我自己编写了一个 bash 脚本,它在本地生成一个 PBS 作业脚本,然后提交作业。我的问题如下:如何让我的 bash 脚本等到 PBS 作业完成然后开始后处理?(不断检查工作的状态不是一种选择。)我有什么可能这样做?
非常感谢您提供的所有提示、提示或解决方案!
编辑:如评论中所示(谢谢),一些编辑:
- PBS = 便携式批处理系统
- 文档可在此处获得:http: //resources.altair.com/pbs/documentation/support/PBSProUserGuide12.1.pdf
- 我考虑了可能的解决方案,并提出了以下一个不起作用的解决方案:我可以让我的 bash 脚本等待所请求的时间作为工作的挂钟时间。然而,有两个复杂性:首先,作业可能不需要那么多时间并提前终止,因此 bash 脚本等待时间过长;其次,作业可能会排队而不是立即执行,因此 bash 脚本可能等待的时间太少。
编辑 2:由于我不确定我是否总是可以按照下面的建议以交互方式运行,所以我考虑了以下问题:我让 PBS 作业脚本在完成之前创建一个(空)文件。我的 bash 脚本每隔几分钟(例如)检查该文件是否存在(使用 while 循环)。如果存在,我知道该作业已终止,可以通过删除刚刚创建的(空)文件开始后处理。这样,我最多只能延迟几分钟,并且不需要任何资源。这绝对不是理想的,而是一种解决方法。任何更实用的想法都会受到高度赞赏。
即使与 PBS 没有直接关系,任何想法都会受到赞赏。
卡里