Geant4 Cross Reference |
1 #!/bin/sh 2 # shows job progress at gridengine queues 3 4 CEXMC_PREFIX=cexmc_ 5 6 qstat -u $USER 7 8 jobids=`qstat -u $USER | sed '1,2d' | grep $CEXMC_PREFIX | awk '{print $1}'` 9 jobbasenames=`qstat -u $USER -r | grep 'Full jobname' | grep $CEXMC_PREFIX | \ 10 awk '{print $3}'` 11 jobnames="" 12 13 i=1 14 for jobbasename in $jobbasenames ; do 15 jobnames=$jobnames' '$jobbasename.o`echo $jobids | awk "{print \\$$i}"` 16 (( ++i )) 17 done 18 19 i=1 20 echo --------------- 21 for job in $jobnames ; do 22 msgperc="N/A" 23 fdbsize="N/A" 24 edbsize="N/A" 25 countPolicy="" 26 ordered="" 27 current="" 28 if [ -e "$job" ] ; then 29 countPolicy=`head -120 "$job" | \ 30 awk '/^\/cexmc\/run\/eventCountPolicy/ {print $2}'` 31 if [[ -z "$countPolicy" || "$countPolicy" = "all" ]] ; then 32 ordered=`head -120 "$job" | awk '/^\/run\/beamOn/ {print $2}'` 33 current=`tail -120 "$job" | grep ^Event | tail -1 | \ 34 awk '{print $2}'` 35 fi 36 fi 37 if [ -z "$current" ] ; then 38 current=0 39 fi 40 if [ -n "$ordered" ] ; then 41 msgperc=$(( current * 100 / ordered ))% 42 fi 43 jobbasename=`echo $jobbasenames | awk "{print \\$$i}"` 44 jobbasename=${jobbasename/$CEXMC_PREFIX/} 45 jobbasename=${jobbasename/\.job/} 46 if [ -e $CEXMC_PROJECTS_DIR/$jobbasename.fdb ] ; then 47 fdbsize=`du -sh $CEXMC_PROJECTS_DIR/$jobbasename.fdb | awk '{print $1}'` 48 fi 49 if [ -e $CEXMC_PROJECTS_DIR/$jobbasename.edb ] ; then 50 edbsize=`du -sh $CEXMC_PROJECTS_DIR/$jobbasename.edb | awk '{print $1}'` 51 fi 52 echo $job: $msgperc, fdb: $fdbsize, edb: $edbsize 53 (( ++i )) 54 done 55