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