Torque PBS:将stdout文件名指定为作业ID号

时间:2016-02-27 16:57:18

标签: pbs qsub torque

默认情况下,从提交的作业到Torque队列的输出将保存到名为xrange的文件中。使用该示例,我想要做的是命名输出文件job_name.o658392

我知道我可以通过在脚本顶部写一行658392.job_name.log来指定输出文件的名称,甚至可以在文件名中使用#PBS -e filename之类的变量。 问题是$PBS_JOBID不仅仅是数字 - 而是看起来像$PBS_JOBID

我尝试过使用658392.some.very.long.host.name,这应该只涉及数字,但问题是我这样做会出错。它写着:${PBS_JOBID/.*}

您是否知道如何以有效的方式指定输出文件名?

1 个答案:

答案 0 :(得分:2)

如果您是管理员,则可以通过设置

将其设置为数字作业ID
qmgr -c 'set server display_job_server_suffix = false'

当然,如果您更改此设置,则希望在没有排队的作业时执行此操作。

如果您是普通用户 - 我没有对此进行过测试 - 但我相信如果您在作业的环境中添加变量,您可以在作业的输出文件中使用该变量。如果您愿意,可以创建一个名为numeric_jobid的变量并将其添加到作业的环境中,然后您可以在作业的输出文件中使用它。我相信你可以在job_script中拥有以下几行:

#PBS -j oe 
#PBS -o $numeric_jobid

然后

jobid=`qsub job_script`
numeric_id=`get just the numeric id from $jobid`
qalter $jobid -v numeric_id=$numeric_id

编辑:您可以使用以下步骤保存一个步骤:

qalter -o $numeric_id.log $jobid

而且我相信这会让你这样做。