【发布时间】:2014-08-14 04:21:01
【问题描述】:
我正在使用带有 -v 标志的 qsub,如下所示:
qsub -v START=0,COUNT=30000 foobar.pbs
这会将 START 和 COUNT 很好地传递给 foobar.pbs 但 foobar.pbs 最终需要这样调用:
python /home/CS4/bin/myrun.py foo_bar.ini
问题似乎是 bash 没有正确解释 python 调用并且 python 进程永远不会产生。这一定很简单吧?任何帮助将不胜感激
pbs 脚本如下所示:
#!/bin/bash
#PBS -N test
#PBS -l select=1:ncpus=1:mem=4gb
#PBS -l walltime=2:00:00
#PBS -j oe
set -x
cd ${PBS_O_WORKDIR}
export PYTHONPATH=/home/CS4:${PYTHONPATH}
TEMPL=/home/CS4/in/tr/1km/foo_bar.ini.m4
DIR=$(dirname ${TEMPL})
BASE=$(basename ${TEMPL} .m4)
INI=$(basename ${BASE} .ini).${START}.ini
m4 -D START=${START} -D COUNT=${COUNT} ${TEMPL} > ${DIR}/${INI}
time python /home/CS4/bin/myrun.py ${DIR}/${INI}
【问题讨论】:
-
脚本运行时输出对您可见吗?
-
@konsolebox
set - x下面的所有内容都打印在输出中,并在其前面加上+- 回显这些命令。 m4 宏正在为 python 执行创建 .ini 文件。这部分效果很好。只有 python 没有被执行。 -
1. python 调用是否可以在不使用
time的情况下工作? 2. 另外,尝试-V选项来导出shell 环境,通常包括python 的路径。 3. SGE 是否有报错,即来自qstat -j <jobid>