将作业脚本提交给PBS排队系统时,自动或由用户指定壁挂时间,例如,通过在PBS作业脚本中获取壁挂时间
#PBS -l walltime=1:00:00
问题是如果这个时间可以从作业脚本访问。有没有一个环境变量或其他方式来获得这个walltime。
最后,作业脚本应该不时决定是否有足够的时间做更多的工作,以便作业不会被排队系统消灭。
更新:
至少如果用户指定的walltime在资源列表,我可以提出以下解决方法(工作对于bash)
read _ _ PBS_WALLTIME <<< `qstat -f $PBS_JOBID | grep "Resource_List.walltime"`
从解析walltime qstat输出并将值放入PBS_WALLTIME变量中。因此,命令
echo $PBS_WALLTIME
将产生类似
1:00:00
在PBS 4.2.8(可能还有其他版本)中,$ PBS_WALLTIME变量以秒为单位存储挂壁时间,所以'echo'将输出'3600'而不是'1:00:00'。 – MasterHD 2015-09-07 08:36:48