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