2012-02-06 54 views
5

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

回答

4

假设你在谈论扭矩,那么是的;提交时在脚本中读取扭矩。实际上,提交脚本不需要作为文件存在;如在documentation for torque作为例子给出,可以管在命令qsub命令(从文档:cat pbs.cmd | qsub。)

但是其它几批系统(SGE/OGE,PBS PRO)使用的qsub作为队列提交命令,所以你必须告诉我们你正在使用什么排队系统来确保。

+0

谢谢。该集群使用SGE调度程序。 – miz 2012-02-06 22:26:44

0

是的。您甚至可以使用HERE文档创建作业和子作业。下面是我使用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 
相关问题