如何使用 PBS 在每个分配的节点上执行脚本

How to execute a script on every allocated node with PBS

我想在分配给我的作业的每个节点上执行一个脚本。所以我做了以下测试。

#PBS -N Test
#PBS -l nodes=2:ppn=4

ulimit -Ss unlimited

cd $PBS_O_WORKDIR
cp $PBS_NODEFILE node
NCORE=`cat node | wc -l`
export P4_RSHCOMMAND=/opt/pbs/default/bin/pbs_remsh
echo `hostname` > `hostname`

结果是echo `hostname` > `hostname`只在第一个分配的节点上执行。

其实我想做的是

#PBS -N Test
#PBS -l nodes=2:ppn=4

ulimit -Ss unlimited

cd $PBS_O_WORKDIR
cp $PBS_NODEFILE node
NCORE=`cat node | wc -l`
export P4_RSHCOMMAND=/opt/pbs/default/bin/pbs_remsh
jug execute somescript&
jug execute somescript&
jug execute somescript&
jug execute somescript&

其中四个jug execute somescript&在每个节点上执行。我该怎么做?

如果您使用的是 Torque,有一个简单的方法可以做到这一点:

pbsdsh -u somescript