默认情况下,从提交的作业到Torque队列的输出将保存到名为xrange
的文件中。使用该示例,我想要做的是命名输出文件job_name.o658392
。
我知道我可以通过在脚本顶部写一行658392.job_name.log
来指定输出文件的名称,甚至可以在文件名中使用#PBS -e filename
之类的变量。
问题是$PBS_JOBID
不仅仅是数字 - 而是看起来像$PBS_JOBID
。
我尝试过使用658392.some.very.long.host.name
,这应该只涉及数字,但问题是我这样做会出错。它写着:${PBS_JOBID/.*}
您是否知道如何以有效的方式指定输出文件名?
答案 0 :(得分:2)
如果您是管理员,则可以通过设置
将其设置为数字作业IDqmgr -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
而且我相信这会让你这样做。