Viitor_upstart/sbin/CheckPid
kueller db3a5093ce Prozesserkennung weiter verbessert
git-svn-id: svn://svn.compuextreme.de/Viitor/V963/Viitor_upstart@6209 504e572c-2e33-0410-9681-be2bf7408885
2011-08-19 09:22:14 +00:00

29 lines
825 B
Bash
Executable File

#!/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