X-Git-Url: https://git.llucax.com/z.facultad/75.08/llamadas.git/blobdiff_plain/15421581995914f59c19d0578ab894db9ff1de0b..184f78908d5690f4f8d1b74d505c2b3b3ed388c2:/inst/afimonio_daemon.sh diff --git a/inst/afimonio_daemon.sh b/inst/afimonio_daemon.sh index ac0fd0c..b2de03c 100755 --- a/inst/afimonio_daemon.sh +++ b/inst/afimonio_daemon.sh @@ -1,38 +1,70 @@ -#!/bin/sh +#!/bin/bash + +# Configuración +WAIT=10 +DAEMON=afimonio + +# --------------- SCRIPT --------------------- BASE_DIR="$HOME/.antifraude" -. "$BASE_DIR/conf/afimonio.conf" +. "$BASE_DIR/conf/$DAEMON.conf" . "$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") - echo -n "Iniciando demonio 'afimonio' en modo daemon ..." - nohup "$AFIM_BINDIR/afimonio" > /dev/null & - A_PID=`cat "$BASE_DIR/lock/afimonio.pid"` - echo " con PID=$A_PID" + 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 + echo -n '.' + 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") - 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 - echo "Parando el demonio 'afimonio' ..." - A_PID=`cat "$BASE_DIR/lock/afimonio.pid"` - kill $A_PID + kill `lock_pid $DAEMON` + for i in `seq $WAIT`; do + if ! is_lock "$DAEMON"; then + echo " OK!" + exit 0 + fi + echo -n '.' + 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") - A_PID=`cat "$BASE_DIR/lock/afimonio.pid"` - if is_lock "afimonio" ; then - echo "Afimonio está corriendo actualmente (PID=$A_PID)." + if is_lock "$DAEMON"; then + echo "$DAEMON está corriendo actualmente (PID=`lock_pid $DAEMON`)." else - echo "Afimonio no está corriendo." + echo "$DAEMON no está corriendo." fi ;; - *) help ;; + *) ayuda ;; esac