2010-06-22 79 views
8

我想通过Sun Grid Engine(现在是:Oracle Grid Engine?)上的qsub提交作业。我不希望使用-sync yes选项或qrsh,因为我希望我的控制程序是单线程的,并且能够一次启动多个作业。这些选项会阻止我的控制程序的线程。在Sun Grid Engine上使用qsub提交的进程获取退出代码

但是,我希望收到我启动的进程的退出状态。从手册页,似乎没有办法得到这个代码没有阻止我的线程。修改我打算将退出代码打印到标准输出的工作是否有任何方法可以获得此状态?

回答

10

答案是'qacct -j'。作业历史摘要被打印到标准输出,然后可以解析退出状态,开始和结束时间以及各种其他信息。

但是,SGE必须正确配置才能使此命令正常工作。

2

如果您在应用程序内提交作业,则使用DRMAA API以最简单和最快的方式(更快,然后使用qsub提交)方式(以及稍后获取退出状态)。很长一段时间,这个简单的API在Sun Grid Engine的C和Java中都可用。 Univa Grid Engine(Grid Engine的商业继承者)和Sun Grid Engine forks也提供了必要的库。既然它是一个开放的标准,你甚至可以提交到完全像Condor/SLURM等其他DRMS,而无需改变你的程序。 GO,Python或TCL(及其他)的语言绑定可用。

参见: http://www.gridengine.eu/mangridengine/htmlman3/drmaa_wait.html

一些更多的信息和围棋(#golang)DRMAA语言与实例结合,你可以 在这里找到: http://www.gridengine.eu/programming-apis

干杯

丹尼尔

WWW .gridengine.eu

相关问题