From 00266e4d50b1cfe139aba92e0567fb92666e8a89 Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Sun, 24 Oct 2004 23:24:11 +0000 Subject: [PATCH] =?utf8?q?Varias=20mejoras:=20chequea=20que=20se=20levante?= =?utf8?q?=20y=20se=20baje=20de=20verdad=20el=20daemon.=20Da=20errores=20m?= =?utf8?q?=C3=A1s=20lindos=20y=20hace=20m=C3=A1s=20chequeos=20(como=20no?= =?utf8?q?=20levantarlo=20si=20ya=20est=C3=A1=20corriendo).?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- inst/afimonio | 2 +- inst/afimonio_daemon.sh | 65 +++++++++++++++++++++++++++++++---------- 2 files changed, 50 insertions(+), 17 deletions(-) diff --git a/inst/afimonio b/inst/afimonio index 174c20c..b175dae 100644 --- a/inst/afimonio +++ b/inst/afimonio @@ -96,6 +96,6 @@ while true; do if ! is_lock "antifraude.pl" ; then $BINDIR/antifraude.pl fi - sleep 10 + sleep 5 done #while diff --git a/inst/afimonio_daemon.sh b/inst/afimonio_daemon.sh index b66a922..dac8b97 100755 --- a/inst/afimonio_daemon.sh +++ b/inst/afimonio_daemon.sh @@ -1,35 +1,68 @@ -#!/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 + 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 + 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 -- 2.43.0