我正在使用sun grid engine 6.2u5版本。當需求是當我提交作業時使用qsub命令完成作業我想運行一些腳本(bash腳本)。完成sge作業後運行腳本
如何使用-notify選項或任何其他方式跟蹤作業完成並在完成後執行腳本。
感謝
我正在使用sun grid engine 6.2u5版本。當需求是當我提交作業時使用qsub命令完成作業我想運行一些腳本(bash腳本)。完成sge作業後運行腳本
如何使用-notify選項或任何其他方式跟蹤作業完成並在完成後執行腳本。
感謝
我覺得hold_jid是你在找什麼:
qsub -hold_jid jobToWaitFor bashScript
你也可以指定多個作業由用逗號分隔的等待。
在隊列配置中有一個專用的選項。您可以設置一個分別在作業前後執行的「Prolog」或「Epilog」腳本。 見man queue_conf
或http://gridscheduler.sourceforge.net/htmlman/htmlman5/queue_conf.html。
如果'-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答案等待完成多個工作。
謝謝@Memento森我已經嘗試過相同。當我運行命令如qsub -hold_jid test.sh script.sh然後它提交併執行script.sh作爲工作,並沒有發生與test.sh – 2013-03-14 09:58:37
@SwapnilSonawane我的錯,我應該指定!該命令實際上並未提交'jobToWaitFor'。可能發生的情況是系統檢查了jobToWaitFor是否正在運行,看到它不是,並提交了bash腳本。因此,爲了以您想要的方式工作,您必須先提交'jobToWaitFor',然後在我的答案中運行命令。您可以創建一個提交作業的腳本,然後執行此命令。 – 2013-03-14 10:06:44
感謝@Memento Mori它工作正常。再次感謝。你知道如何使用通過sge發送的通知或捕獲信號(SIGUSR1,SIGUSR2)嗎? – 2013-03-14 10:19:28