检查 Bash 脚本中 BSUB 的语法

检查 Bash 脚本中 BSUB 的语法

我正在尝试使用这个 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.

相关内容