2010-06-22 74 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

相關問題