說我使用類似bsub pwd
的東西提交一份工作。現在我想獲得該職位的工作ID,以便爲下一份工作建立一個依賴關係。有什麼方法可以讓bsub返回作業ID?LSF - 獲取提交作業的ID
8
A
回答
5
作爲參考,這是迄今爲止我可以提出的最佳解決方案。它利用了bsub將包含ID的行寫入STDOUT的事實。
function nk_jobid {
output=$($*)
echo $output | head -n1 | cut -d'<' -f2 | cut -d'>' -f1
}
用法:
jobid=$(nk_jobid bsub pwd)
0
$jobid = "0"
bsub pwd > $jobid
cat $jobid
4
如果您使用的是C++,你可以使用lsblib,LSF C API提交作業。輸入和輸出是結構。特別是,輸出結構體包含作業ID。
#include <lsf/lsbatch.h>
LS_LONG_INT lsb_submit (struct submit *jobSubReq, struct submitReply *jobSubReply)
7
Nils和Andrey分別在shell和C/C++環境中解答了這個特定問題。對於建築的依賴的目的,你也可以命名你的工作和-J然後建立基於作業名的依賴:
bsub -J "job1" <cmd1>
bsub -J "job2" <cmd2>
bsub -w "done(job1) && done(job2)" <cmd>
有更多的信息here。
這也適用於工作數組:
bsub -J "ArrayA[1-10]" <cmd1>
bsub -J "ArrayB[1-10]" <cmd2>
bsub -w "done(ArrayA[3]) && done(ArrayB[5])" <cmd>
你甚至可以做元素乘元素的依賴。下面作業的我個元素將只運行時ArrayB
相應的元件達到DONE
狀態:
bsub -w "done(ArrayB[*])" -J "ArrayC[1-10]" <cmd3>
你可以找到各種各樣的事情更多信息,你可以在-w
here指定。
0
如果您只是想在提交後查看JOBID,大部分時間我只會使用bhist或bhist -l來查看正在運行的作業和詳細信息。
$ bhist
Summary of time in seconds spent in various states:
JOBID USER JOB_NAME PEND PSUSP RUN USUSP SSUSP UNKWN TOTAL
8664 F14r3 sample 2 0 187954 0 0 0 187956
相關問題
- 1. 在lsf集羣上提交mpi作業
- 2. LSF順序文件名作業提交
- 3. LSF上的MPI + OpenMP作業提交腳本
- 4. LSF作業路由算法
- 5. 獲取數據-ID提交
- 6. LSF作業提交標準輸出和標準錯誤重定向
- 7. 提交Hadoop作業
- 8. 完成作業後提交批作業
- 9. 如何從Laravel的作業ID中獲取排隊作業?
- 10. 獲取延遲作業中創建作業的ID
- 11. 在LSF作業數組中引用作業索引
- 12. laravel:在搜索後獲取作業ID
- 13. 如何從qsub獲取作業ID
- 14. 在作業提交之前從編碼任務獲取Asset.ID
- 15. Flink記錄獲取作業名稱或作業ID
- 16. 作業提交在星火作業服務器提供的NullPointerException
- 17. HTCondor作業提交標籤
- 18. Oozie作業提交失敗
- 19. 從oozie提交豬作業
- 20. PBS批量作業提交
- 21. 將Perl生成的腳本提交到SGE時捕獲作業ID
- 22. qsub:獲取上一份工作ID提交
- 23. 在LSF環境中獲取bjobs的CWD
- 24. 如何獲得網格提交的作業來繼承作業限制?
- 25. 如何在git中獲取分支提示的提交ID?
- 26. 獲取詹金斯作業從隊列ID生成ID
- 27. 錯誤的sqoop2作業提交
- 28. 作業:什麼提交的Rails項目
- 29. SGE提交的作業不運行
- 30. 配置的MapReduce作業提交
它的語言是什麼? –
@AndreyRubshtein多數民衆贊成在。 – jsmedmar
我想知道如何在$(nk_jonid bsub $ VARIABLE) – jsmedmar