]> git.llucax.com Git - z.facultad/75.08/llamadas.git/commitdiff
Varias mejoras: chequea que se levante y se baje de verdad el daemon. Da errores...
authorLeandro Lucarella <llucax@gmail.com>
Sun, 24 Oct 2004 23:24:11 +0000 (23:24 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Sun, 24 Oct 2004 23:24:11 +0000 (23:24 +0000)
inst/afimonio
inst/afimonio_daemon.sh

index 174c20c970ca05f8441c0c1c747535c61b0d1822..b175dae945f9654c184636e3a3f9e2542d8ca5fb 100644 (file)
@@ -96,6 +96,6 @@ while true; do
        if ! is_lock "antifraude.pl" ; then
                $BINDIR/antifraude.pl
        fi
        if ! is_lock "antifraude.pl" ; then
                $BINDIR/antifraude.pl
        fi
-       sleep 10
+       sleep 5
 done #while 
 
 done #while 
 
index b66a9222bcb2b9156a97e53d5e4f820c65f64327..dac8b970ed24cf32743f186e2b578c7691c70f94 100755 (executable)
@@ -1,35 +1,68 @@
-#!/bin/sh
+#!/bin/bash
+
+# Configuración
+WAIT=10
+DAEMON=afimonio
+
+# --------------- SCRIPT ---------------------
 
 BASE_DIR="$HOME/.antifraude"
 
 
 BASE_DIR="$HOME/.antifraude"
 
-. "$BASE_DIR/conf/afimonio.conf"
+. "$BASE_DIR/conf/$DAEMON.conf"
 . "$BASE_DIR/util.sh"
 
 . "$BASE_DIR/util.sh"
 
-help () {
-       echo "Parámetros válidos : start, stop, status"
+ayuda () {
+       perr "Parámetros válidos : start, stop, status"
 }
 
 case "$1" in
        "start")
 }
 
 case "$1" in
        "start")
-               echo -n "Iniciando demonio 'afimonio' en modo daemon ..."
-               nohup "$AFIM_BINDIR/afimonio" > /dev/null &
-               echo " (PID=`lock_pid afimonio`)"
+               echo -n "Iniciando demonio '$DAEMON' en modo daemon... "
+               if is_lock "$DAEMON"; then
+                       echo "ERROR!"
+                       perr "$DAEMON ya está corriendo (PID=`lock_pid $DAEMON`)."
+                       exit 1
+               fi
+               nohup "$AFIM_BINDIR/$DAEMON" > /dev/null &
+               for i in `seq $WAIT`; do
+                       if is_lock "$DAEMON"; then
+                               echo "OK! (PID=`lock_pid $DAEMON`)"
+                               exit 0
+                       fi
+                       sleep 1;
+               done
+               # Tardó más de 5 segundos en arrancar, algo anda mal...
+               echo "ERROR!"
+               perr "$DAEMON tardó más de $WAIT segundos en arrancar, probablemente haya algún problema."
+               exit 1
        ;;
        "stop")
        ;;
        "stop")
-               if ! is_lock afimonio; then
-                       echo "El demonio no esta corriendo ... Abortando"
-                       exit 0
+               echo -n "Parando el demonio '$DAEMON'... "
+               if ! is_lock "$DAEMON"; then
+                       echo "ERROR!"
+                       perr "$DAEMON no esta corriendo."
+                       exit 1
                fi
                fi
-               echo "Parando el demonio 'afimonio' ..."
-               kill `lock_pid afimonio`
+               kill `lock_pid $DAEMON`
+               for i in `seq $WAIT`; do
+                       if ! is_lock "$DAEMON"; then
+                               echo "OK!"
+                               exit 0
+                       fi
+                       sleep 1;
+               done
+               # Tardó más de 5 segundos en parar, algo anda mal...
+               echo "ERROR!"
+               perr "$DAEMON tardó más de $WAIT segundos en parar, probablemente haya algún problema."
+               exit 1
        ;;
        "status")
        ;;
        "status")
-               if is_lock afimonio; then
-                       echo "Afimonio está corriendo actualmente (PID=`lock_pid afimonio`)."
+               if is_lock "$DAEMON"; then
+                       echo "$DAEMON está corriendo actualmente (PID=`lock_pid $DAEMON`)."
                else
                else
-                       echo "Afimonio no está corriendo."
+                       echo "$DAEMON no está corriendo."
                fi
        ;;
                fi
        ;;
-       *) help ;;
+       *) ayuda ;;
 esac
 
 esac