Viitor_upstart/sbin/CheckPid

29 lines
825 B
Plaintext
Raw Normal View History

#!/bin/bash
PIDFILE=$1
if [ ! ${PIDFILE} ]; then
echo "Usage: $0 <pidfile>"
exit 10
fi
PID=$(cat ${PIDFILE}|head -1)
PSNAME=$(ps -ef|awk '{ if ( $2 == "'${PID}'" ) print $8 }'|cut -d "." -f1|sed -e "s/://g")
SEEKNAME=$(basename ${PIDFILE}|cut -d"." -f1)
if [ "${PSNAME}" ]; then
if echo ${SEEKNAME}|grep -q $(basename ${PSNAME}); then
logger -p info -t upstart "Found running Prozess ${PSNAME} for ${PIDFILE}; aborting startup"
exit 2
else
logger -p info -t upstart "PIDFILE ${PIDFILE} does not point to the correct running prozess"
logger -p info -t upstart "cleanup ${PIDFILE} and start the prozess"
rm ${PIDFILE}
exit 0
fi
else
logger -p info -t upstart "PIDFILE ${PIDFILE} does not point to any prozess"
logger -p info -t upstart "Cleanup ${PIDFILE} and start the prozess"
rm ${PIDFILE}
exit 0
fi