如何知道正在执行的脚本中的 PBS 批处理作业提交时间?

如何知道正在执行的脚本中的 PBS 批处理作业提交时间?

我正在使用 PBS qsub 在集群上运行脚本,该脚本必须输出以批处理作业提交时间命名的报告文件。

批处理作业提交时间是其加入 PBS 批处理作业队列的时间。

我检查了所有 PBS 默认变量,但没有发现任何与作业提交时间相关的内容。

我想知道如何在不创建新输入变量的情况下获取这个时间。

谢谢。

答案1

我自己弄清楚了这一点。

将以下函数添加到您的 PBS 批处理作业脚本中以获取作业提交时间。

getsubmitdate(){
   local datestring=`qstat -f $PBS_JOBID | grep -F qtime | awk '{for(i=3;i<8;i++) printf $i" "}'`;
   local result=`date -d "$datestring" +%Y%m%d` ;
   local outputvar=$1 ;
   if [[ "$outputvar" ]] ; then
       eval $outputvar="'$result'"
   else
       echo "$result"
   fi
}

getsubmitdate SUBMITDATE
echo $SUBMITDATE

相关内容