6

我想使用 qsub 提交一堆工作 - 这些工作都非常相似。我有一个有循环的脚本,在每个实例中,它都会重写文件 tmpjob.sh ,然后执行 qsub tmpjob.sh 。在作业有机会运行之前,tmpjob.sh 可能已被循环的下一个实例覆盖。作业等待运行时是否存储了另一个 tmpjob.sh 副本?还是我需要小心不要在工作开始之前更改 tmpjob.sh?

4

2 回答 2

4

假设您在谈论扭矩,那么是的;扭矩在提交时读入脚本。事实上,提交脚本根本不需要作为文件存在;如扭矩文档中的示例所示,您可以将命令通过管道传递给 qsub(来自文档:cat pbs.cmd | qsub.)

但是其他几个批处理系统(SGE/OGE、PBS PRO)使用 qsub 作为队列提交命令,所以你必须告诉我们你使用的是什么队列系统来确定。

于 2012-02-06T22:19:12.480 回答
0

是的。您甚至可以使用 HERE Documents 创建作业和子作业。下面是我使用由 cron 作业启动的脚本进行的测试示例:

#!/bin/env bash
printenv
qsub  -N testCron  -l nodes=1:vortex:compute -l walltime=1:00:00 <<QSUB
cd \$PBS_O_WORKDIR

printenv

qsub  -N testsubCron  -l nodes=1:vortex:compute -l walltime=1:00:00 <<QSUBNEST
cd \$PBS_O_WORKDIR
pwd
date -Isec

QSUBNEST


QSUB
于 2018-01-06T05:49:10.293 回答