2013-03-14 133 views
0

我正在使用sun grid engine 6.2u5版本。當需求是當我提交作業時使用qsub命令完成作業我想運行一些腳本(bash腳本)。完成sge作業後運行腳本

如何使用-notify選項或任何其他方式跟蹤作業完成並在完成後執行腳本。

感謝

回答

2

我覺得hold_jid是你在找什麼:

qsub -hold_jid jobToWaitFor bashScript 

你也可以指定多個作業由用逗號分隔的等待。

+0

謝謝@Memento森我已經嘗試過相同。當我運行命令如qsub -hold_jid test.sh script.sh然後它提交併執行script.sh作爲工作,並沒有發生與test.sh – 2013-03-14 09:58:37

+0

@SwapnilSonawane我的錯,我應該指定!該命令實際上並未提交'jobToWaitFor'。可能發生的情況是系統檢查了jobToWaitFor是否正在運行,看到它不是,並提交了bash腳本。因此,爲了以您想要的方式工作,您必須先提交'jobToWaitFor',然後在我的答案中運行命令。您可以創建一個提交作業的腳本,然後執行此命令。 – 2013-03-14 10:06:44

+0

感謝@Memento Mori它工作正常。再次感謝。你知道如何使用通過sge發送的通知或捕獲信號(SIGUSR1,SIGUSR2)嗎? – 2013-03-14 10:19:28

0

如果'-hold_jid'在您的系統上不可用,您可以嘗試'-depend',但它需要兩個命令。

>> qsub script_a.sh 
555.server.domain.com 

>> qsub -W depend=afterok:555.server.address.com script_b.sh 
556.server.domain.com 

檢查this答案等待完成多個工作。