我想通过Sun Grid Engine上的QSUB提交工作(现在:Oracle Grid Engine?)。我不希望使用-Sync是的选项或QRSH,因为我希望我的控制程序是单线程,并且能够一次启动许多作业。这些选项将阻止我的控制程序的线程。

但是,我想收到我启动的流程的退出状态。从人类页面上,似乎没有办法在不阻止我的线程的情况下获得此代码。缺乏修改我正在启动的作业以将其出口代码打印到Stdout上,是否有任何方法可以获得此状态?

有帮助吗?

解决方案

答案是“ QACCT -J”。对工作历史的摘要打印到Stdout,然后可以为退出状态,开始和结束时间以及各种其他信息解析。

但是,必须正确配置SGE才能工作。

其他提示

如果您在应用程序中提交工作,则最简单,最快的(更快地使用QSUB提交)方式(稍后再获得退出状态)是使用DRMAA API。这种简单的API在很长一段时间内在C中和Sun Grid Engine的Java中可用。 Univa Grid Engine(电网发动机的商业继任者)和Sun Grid Engine Forks也运送了必要的图书馆。由于这是一个开放标准,您甚至可以完全提交给其他DRM,例如Condor/Slurm等。可以使用GO,Python或TCL(和其他)的语言绑定。

看:http://www.gridengine.eu/mangridengine/htmlman3/drmaa_wait.html

更多信息和GO(#Golang)Drmaa语言与您可以在此处找到的示例绑定:http://www.gridengine.eu/programming-apis

干杯

丹尼尔

www.gridengine.eu

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top