Il 04 novembre 2010 14:52, Flavio Stanchina <flavio@xxxxxxxxxxxxx> ha scritto: > 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! Sospiro di sollievo... :-D > > > 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" > Occhio perché se il processo è morto, e il suo pid è stato assegnato ad un'altro processo? È una situazione verosimile, oppure i PID vengono continuamente aumentati? >> 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. Davo per scontata (evidentemente sbagliando) che il pidfile fosse creato dal processo stesso... Michele -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx