加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – QSUB:为Job Array中的每个任务指定输出和错误文件

发布时间:2020-12-15 21:39:12 所属栏目:安全 来源:网络整理
导读:希望这不是一个dublicate,也不仅仅是我们集群配置的问题…… 我使用qsub使用以下命令将作业数组提交到集群: qsub -q QUEUE -N JOBNAME -t 1:10 -e ${ERRFILE}_$SGE_TASK_ID /path/to/script.sh 哪里 ERRFILE=/home/USER/somedir/errors. 我们的想法是指定一
希望这不是一个dublicate,也不仅仅是我们集群配置的问题……

我使用qsub使用以下命令将作业数组提交到集群:

qsub -q QUEUE -N JOBNAME -t 1:10 -e ${ERRFILE}_$SGE_TASK_ID /path/to/script.sh

哪里

ERRFILE=/home/USER/somedir/errors.

我们的想法是指定一个错误文件(也类似于输出文件),该文件还包含作业数组中的任务ID.

到目前为止,我已经了解了这一行

#$-e ${ERRFILE}_$SGE_TASK_ID

在script.sh中,不起作用,因为它是一个注释而不是由bash评估.我的第一行不起作用,因为$SGE_TASK_ID仅在作业提交后设置.
我读了here,它逃避了对$SGE_TASK_ID的评估(在那个链接中它是PBS’$PBS_JOBID,但类似的问题)应该可以工作,但是当我尝试

qsub -q QUEUE -N JOBNAME -t 1:10 -e ${ERRFILE}_$SGE_TASK_ID /path/to/script.sh

它没有按预期工作.

我错过了一些明显的东西吗是否可以在错误文件的名称中使用$SGE_TASK_ID(错误文件的自动命名会这样做,但我想指定目录,如果可能的话也指定名称)?

一些补充说明:

>我在script.sh中使用qsub的-cwd选项,但这不是我希望存储错误文件的地方.
>我接下来无法控制群集的工作方式和根访问权限(在此上下文中我不知道我需要它,但无论如何……).
>显然我们的群集不使用PBS.
>是的,我的脚本都是可执行的,并且在适用的情况下以#!/ bin / bash开头(我还指定使用bash和qsub的-S / bin / bash选项).
>似乎有一个解决方案here,但我不太确定它是如何工作的,它似乎也使用PBS.如果答案适用于我的问题并且我误解了它,请告诉我.

我希望任何暗示正确的方向.
谢谢!

解决方法

我也不知道这一点,但看起来Grid Engine有一个叫做“伪环境变量”的东西,就像$TASK_ID一样.这应该工作:

qsub -q QUEUE -N JOBNAME -t 1:10 -e ${ERRFILE}_$TASK_ID /path/to/script.sh

从man page:

06001

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读