LOGDIR="${LOGFILE%/*}"
mkdir -p $PIDDIR
-if [ $? -ne 0 ];
-then
+if [ $? -ne 0 ]; then
echo "Session daemon PIDDIR not there: $PIDDIR" >&2
exit 2
fi
mkdir -p $LOGDIR
-if [ $? -ne 0 ];
-then
+if [ $? -ne 0 ]; then
echo "Session daemon LOGDIR not there: $LOGDIR" >&2
exit 2
fi
-if [ -e "$PIDFILE" ] ;
-then
- echo "Session daemon '$NAME' PIDFILE found: $PIDFILE"
- PID=`cat "$PIDFILE"`
+if [ -e "$PIDFILE" ] ; then
+ PID=`cat "$PIDFILE"`
echo "Session daemon '$NAME' PID found: $PID"
+
+ if pgrep -F "$PIDFILE" "${NAME}" >/dev/null ; then
+ echo "Session daemon '$NAME' was already running with PID $PID" >&2
+ exit 3
+ fi
else
echo "Session daemon '$NAME' PIDFILE NOT found: $PIDFILE"
fi
-if [ "$PID" ] && kill -0 "$PID" 2>/dev/null ;
-then
- echo "Session daemon '$NAME' was already running with PID $PID" >&2
- exit 3
-fi
echo "Session daemon running $COMMAND $* > $LOGFILE 2>&1"
$COMMAND $* > "$LOGFILE" 2>&1 &
ERR=$?
sleep 1
-if [ "$PID" ] && [ $ERR == 0 ] && kill -0 "$PID" 2>/dev/null;
-then
+if [ "$PID" ] && [ $ERR == 0 ] && kill -0 "$PID" 2>/dev/null; then
echo -n $PID > "$PIDFILE"
echo "Session daemon '$NAME' started with PID $PID"
else