我正在尝试使用这个 bash 脚本 titleple launchparse.sh 通过 bsub linux 实用程序提交一份作业:
#!/bin/bash
#BSUB -W 80:0
#BSUB -R rusage[mem=4000]
#BSUB -J "myarray[101-150]"
filenumber=$(($LSB_JOBINDEX*100000))
java -cp ./ejml-0.19-nogui.jar:./ejml-0.19-src.zip:./stanford-parser-3.2.0-javadoc.jar:./stanford-parser-3.2.0-models.jar:./stanford-parser-3.2.0-sources.jar:./stanford-parser.jar:. Pubmedparse $filenumber.txt done$filenumber
但是,每当我使用 检查作业是否已提交时bjobs -a
,我都会发现我的作业已退出。有人能看出语法有什么问题吗
答案1
我认为你的脚本很好。如果我将 java 命令行替换为
echo XXX > /tmp/done$filenumber
然后它就可以正常工作了。可能是 Java 进程以非零退出代码退出。尝试将 Java 进程的 stdout/stderr 和退出代码重定向到文件,或者使用bsub
选项-o
/ -oo
/ -e
/ -eo
。
对于您已提交的作业,bjobs -l <jobid>
将显示确切的退出代码。例如,
Mon Feb 3 15:00:02: Exited with exit code 1. The CPU time used is 0.0 seconds.