1

我们创建一个扭矩 pbs 文件“ testpbs ”如下:

#!/bin/sh
#PBS -N T1272_flt
#PBS -q batch
#PBS -l nodes=1:ppn=1
#PBS -o /data/software/torque-4.2.6.1/testpbs.sh.out
#PBS -e /data/software/torque-4.2.6.1/testpbs.sh.err  

sleep  20

然后提交文件testbps。

qsub testpbs

我们收到错误消息:

更多 testpbs.sh.err

/var/spool/torque/mom_priv/jobs/8.centos64.SC:第 9 行:睡眠:找不到命令

但是,我们在命令行中运行了sleep 20 。不会发生错误。

$睡眠 20

提前致谢。

我们在 shell 中运行echo $PATH并得到以下信息:

回声 $PATH

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/ sbin:/usr/bin:/usr/X11R6/bin:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin:/data/software/cufflinks-2.0.2.Linux_x86_64: /home/amin/bin/blast-2.2.19:/root/bin:/home/amin/bin

我们使用qstat -f jobid查看此作业的详细信息。

PBS_O_LOGNAME=amin,

PBS_O_PATH= /usr/lib64/qt-3.3/bin: /usr/local/sbin : /usr/local/bin : /sbin: /bin : /usr/sbin: /usr/bin : /sbin:/bin: / usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin:/data/software/cufflinks-2.0.2。 Linux_x86_64:/home/amin/bin/blast-2.2.19:/root/bin:/home/aimin/bin,

PBS_O_MAIL=/var/spool/mail/root,

PBS_O_SHELL=/bin/bash,

PBS_O_LANG=en_US.UTF-8,

PBS_O_WORKDIR=/data/software/torque-4.2.6.1,

PBS_O_HOST=centos64,

PBS_O_SERVER=centos64

感谢 larsks 的大力帮助。以下作品:

#!/bin/sh
#PBS -N T1272_flt
#PBS -q batch
#PBS -l nodes=1:ppn=1
#PBS -o /data/software/torque-4.2.6.1/testpbs.sh.out
#PBS -e /data/software/torque-4.2.6.1/testpbs.sh.err  

export PATH=$PBS_O_PATH
sleep  20
4

1 回答 1

4

尝试用sleep命令的完整路径(可能/usr/bin/sleep)替换,看看是否会改变行为。如果是这样,那么您的脚本在 Torque 下运行时,只是有一个不同的(或空的)$PATH变量。

您可以 (a) 继续使用显式路径,或 (b)$PATH在脚本中显式设置,例如:

PATH=/bin:/usr/bin:/usr/local/bin
于 2014-01-21T03:15:08.833 回答