2011-08-19 06:42:21 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
PIDFILE=$1
|
|
|
|
|
|
|
|
if [ ! ${PIDFILE} ]; then
|
|
|
|
echo "Usage: $0 <pidfile>"
|
|
|
|
exit 10
|
|
|
|
fi
|
|
|
|
|
2011-08-19 09:22:14 +00:00
|
|
|
PID=$(cat ${PIDFILE}|head -1)
|
|
|
|
PSNAME=$(ps -ef|awk '{ if ( $2 == "'${PID}'" ) print $8 }'|cut -d "." -f1|sed -e "s/://g")
|
2011-08-19 06:42:21 +00:00
|
|
|
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
|