[Linuxtrent] invertendo l'ordine dei fattori il prodotto cambia (era bash script ed evidente errore di ragionamento)

  • From: Mario Vittorio Guenzi <jclark@xxxxxxxxxx>
  • To: linuxtrent <linuxtrent@xxxxxxxxxxxxx>
  • Date: Tue, 24 Mar 2009 12:19:08 +0100

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Buongiorno a tutti,
stamane dopo essermi liberato del piu' grosso di uan rogna con postfix
mi sono rimesso a guardare lo script di cui chiedevo qualche giorno fa.
Mi sono reso conto che il problema era che non faceva rm -f
/var/run/ucarp.pid
se pero' andando in /var/run/ lo cancellavo a mano poi la cosa funzionava.
Lo script di lancio di ucarp in init.d creail pid in questo modo:
 test -x /usr/sbin/ucarp || exit 0

case "$1" in
    start)

        if [ ! -x /usr/sbin/ucarp ]; then
            echo "ucarp binary missing - not starting"
            exit 1
        fi
        if ( ! pgrep -f /usr/sbin/ucarp )
        then
                echo -n "Starting ucarp service: ucarp"
                start-stop-daemon --start --make-pidfile --pidfile
${UCARP_PIDFILE} --quiet --exec /usr/sbin/ucarp \
                        -- $OPTIONS
        else
                 echo "ucarp is running, not starting"
        fi
                 echo "."
    ;;

    stop)
         echo -n "Stopping ucarp service: ucarp"
#         killall ucarp && rm -f /var/run/ucarp.pid
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ (questo prima
della modifica riga sotto)

       rm -f /var/run/ucarp.pid && killall ucarp
         echo "."
    ;;

    restart|force-reload)
        $0 stop
        sleep 2
        $0 start
    ;;

    *)
         echo "Usage: /etc/init.d/ucarp
{start|stop|restart|force-reload}" >&2
         exit 1
   ;;
esac

exit 0

quindi lanciandolo a mano doveva per forza fermare e in effetti lo
faceva ma NON cancellava il pid.
Invertendo l'ordine delel operazioni e' cioe' rimuovendo prima il pid e
poi killanndo ucarp funziona a dovere.
Dire che sono perplesso e' dire niente pero' ripeto funziona a dovere se
a qualcuno servisse questa e' la soluzione che ho trovato anche se mi
pare "sporca"
Cordialita'
- --

Mario Vittorio Guenzi
E-mail jclark@xxxxxxxxxx
Si vis pacem, para bellum
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAknIwawACgkQm6qs1ZkNrIojqgCfcgsiUoGb8SOHCF3kYmmAmg8N
FgMAnRb6V5kAVfaY847Q0vjTtlYvjcWQ
=13dy
-----END PGP SIGNATURE-----
-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: