#!/usr/bin/env bash


PIDFILE=ccxvfb.pid

if [ -f ${PIDFILE} ] ; then
  echo "    Killing Xvfb process from PID file"
  PID=`cat ${PIDFILE}`
  kill -3 $PID
  # if permission denied, for example, then be sure not to remove PID file
  if [ $? ]
  then
          if kill -9 $PID ; then
            echo "    Xvfb process stopped"
            rm -f ${PIDFILE}
          else
            echo "    Xvfb process could not be stopped"
          fi
  else
    echo "    Could not kill the process."
  fi
else
        echo "    PID file (${PIDFILE}) does not exist."
        echo "        Either Xvfb not running, or PID file has been deleted"
fi
echo;

#!/usr/bin/env bash


PIDFILE=ccmetacity.pid

if [ -f ${PIDFILE} ] ; then
  echo "    Killing METACITY process from PID file"
  PID=`cat ${PIDFILE}`
  kill -3 $PID
  # if permission denied, for example, then be sure not to remove PID file
  if [ $? ]
  then
          if kill -9 $PID ; then
            echo "    METACITY process stopped"
            rm -f ${PIDFILE}
          else
            echo "    METACITY process could not be stopped"
          fi
  else
    echo "    Could not kill the process."
  fi
else
        echo "    PID file (${PIDFILE}) does not exist."
        echo "        Either METACITY not running, or PID file has been deleted"
fi
echo;