From d4594336331e7cb3522611dfd226bdd72d904efe Mon Sep 17 00:00:00 2001 From: kueller Date: Fri, 19 Aug 2011 06:42:21 +0000 Subject: [PATCH] Neues Script CheckPid - prueft PID-Files, und loescht sie, wenn der Prozess nicht existiert, bzw. gibt ein Return <>0 wenn der Prozess existiert git-svn-id: svn://svn.compuextreme.de/Viitor/V963/Viitor_upstart@6196 504e572c-2e33-0410-9681-be2bf7408885 --- sbin/CheckPid | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 sbin/CheckPid diff --git a/sbin/CheckPid b/sbin/CheckPid new file mode 100755 index 0000000..cbe17cf --- /dev/null +++ b/sbin/CheckPid @@ -0,0 +1,28 @@ +#!/bin/bash + +PIDFILE=$1 + +if [ ! ${PIDFILE} ]; then + echo "Usage: $0 " + exit 10 +fi + +PID=$(cat ${PIDFILE}) +PSNAME=$(ps -ef|awk '{ if ( $2 == "'${PID}'" ) print $8 }'|cut -d "." -f1) +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