X-Git-Url: https://git.llucax.com/z.facultad/75.08/llamadas.git/blobdiff_plain/1845728ea7fe68a24c7b10c6fee76033bd977d0d..2e4b4b94c752edf005b145b5c896756b0b6598cb:/inst/afimonio_daemon.sh diff --git a/inst/afimonio_daemon.sh b/inst/afimonio_daemon.sh index b66a922..b2de03c 100755 --- a/inst/afimonio_daemon.sh +++ b/inst/afimonio_daemon.sh @@ -1,35 +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 & - 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 + 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' ..." - kill `lock_pid afimonio` + 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") - 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 - echo "Afimonio no está corriendo." + echo "$DAEMON no está corriendo." fi ;; - *) help ;; + *) ayuda ;; esac