[Linuxtrent] Re: pid e perplessita'

  • From: Flavio Stanchina <flavio@xxxxxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Thu, 04 Nov 2010 14:52:35 +0100

On 04/11/2010 14:16,
Michele Bert <micbert75@xxxxxxxxx> wrote:
Il 04 novembre 2010 13:50, Mario Vittorio Guenzi<jclark@xxxxxxxxxx>  ha scritto:
che almeno in teoria mi pare funzioni, pero' simulando e facendo un bel
heartbeat stop in /var/run mi trovo un heartbeat.pid che se e' vero che
e' un identificativo di processo a rigor di logica non ci dovrebbe
essere visto che il demone e' stato stoppato.

Mi butto in una spiegazione un po' azzardata, per me, ma in questo
modo le eventuali conferme/smentite mi insegneranno qualcosa.
Il file che trovi in /var/run non è l'identificativo di processo, ma
un file che ne memorizza il valore. [...]

La spiegazione non mi sembra azzardata: il file che contiene il pid non è *il* pid!

Per verificare che un processo stia effettivamente girando, dovresti
analizzare l'output del comando ps, ed eventualmente confrontare il
pid che trovi la dentro con quello nel file in /var/run.

Puoi chiedere al sistema il pid del processo che interessa, che è la soluzione più affidabile:
# pidof /usr/bin/xyzzy

Se ti fidi del contenuto di /var/run/xyzzy.pid, puoi verificare se il processo esiste con "kill -0":
# kill -0 $(cat /var/run/xyzzy.pid) && echo "il processo xyzzy esiste"

In ogni caso trovo alquanto curioso che un processo stoppato
regolarmente (nel tuo caso con "stop") non provveda ad eliminare il
pid file...

Dipende da chi ha creato il pidfile. Ad esempio, start-stop-daemon non lo cancella automaticamente, vedere opzione --make-pidfile.

http://perfec.to/stalepid.html

--
Ciao, Flavio
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: