#!/bin/sh
if [ $# -ge 1 ]
then
  RM="ls -la"
  debug=1
else
  RM="rm -f"
  debug=0
fi
KILL="kill"
if [ $# -eq 2 ]
then
  set -x
  KILL="kill"
fi
cd $PACK
if [ $? -ne 0 ]
then
  echo "`basename $0`: unable to change dir $PACK"
  exit 1
fi
ls -a .*err* 2>$DEVNULL \
             | sed -e 's/\.elg\./\.lgdem\./' \
             | sed -e 's/\.ebm\./\.ebmmd\./' \
             | sed -e 's/\.psg\./\.psg_d\./' \
             | sed -e 's/\.err/ /'           \
             | sed -e 's/\./ /' > /tmp/ebmkillall.$$
if [ ! -s /tmp/ebmkillall.$$ ]
then
    echo "OS1042(S) Batch Node isn't active."
    if [ $debug -eq 1 ]
    then
        ls -a .*err*
    fi
    rm /tmp/ebmkillall.$$
    exit 0
fi
echo "OS1000(I) Shutdown Started:"
if [ $debug -eq 1 ]
then
    cat /tmp/ebmkillall.$$
fi
cat /tmp/ebmkillall.$$ | while read ebmp
do
  set $ebmp
  echo "Batch node daemon \"$1\" \t pid=$2\t: \c"
  ps -e | grep $1 |grep -v grep >/tmp/.$$
  if [ $debug -eq 1 ]
  then
      echo ""
      cat /tmp/.$$
      echo ""
      grep $2 /tmp/.$$
      echo ""
  fi
  grep $2 /tmp/.$$ >$DEVNULL 2>&1
  if [ $? -eq 0 ]
  then
      $KILL $2 > $DEVNULL 2>&1
      if [ $? -ne 0 ]
      then
          echo "    \t shutdown failed"
          if [ $debug -eq 1 ]
          then
              $KILL $2
          fi
      else
          for i in 2 2 2 2
          do
              sleep $i
              echo ".\c"
          done
          ps -e | grep $1 |grep -v grep >/tmp/.$$
          grep $2 /tmp/.$$ >$DEVNULL 2>&1
          if [ $? -eq 0 ]
          then
              $KILL -9 $2
              echo "\t killed"
              $RM .*.err$2
          else
              echo "\t shutdown"
              $RM .*.err$2
          fi
      fi
  else
      echo "    \t not running"
      $RM .*.err$2
  fi
done
rm -f /tmp/.$$
rm /tmp/ebmkillall.$$
echo "OS1003(I) Shutdown Completed."
exit 0
