向 PBS 排队系统提交作业脚本时,会自动或由用户指定挂钟时间,例如通过
#PBS -l walltime=1:00:00
问题是这个时间是否可以从作业脚本中访问。是否有环境变量或其他方式来获得这个walltime。
最后,作业脚本应该不时决定是否有足够的时间来做更多的工作,这样作业就不会被排队系统杀死。
更新:
至少如果用户在资源列表中指定了 walltime,我可以提出以下解决方法(适用于 bash)
read _ _ PBS_WALLTIME <<< `qstat -f $PBS_JOBID | grep "Resource_List.walltime"`
它从 qstat 输出解析 walltime 并将值放在 PBS_WALLTIME 变量中。因此,命令
echo $PBS_WALLTIME
会产生类似的东西
1:00:00