从Sun Grid Engine上与QSUB提交的过程中获取出口代码
-
29-09-2019 - |
题
我想通过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
不隶属于 StackOverflow