[Linuxtrent] python avvio servizi e controllo pid

  • From: Claudio <realtega@xxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Wed, 6 Apr 2005 15:39:00 +0200

Ciao a tutti,

alle prime armi con python, sto cercando di creare qualcosa che sia in
grado, partendo da una classe generica, di gestire servizi del
sistema.

Nello specifico cerco di creare istanze di oggetti che abbiano come
metodi la possibilità di avviare, stoppare, controllare lo stato di un
servizio.

Ora... a parte la mia implementazione che sarà pietosa... e che quindi
vi risparmio, sono inchiodato su un punto.

Sto cercando di ottenere il pid di un processo avviato per poi
verificare se il processo è ancora attivo.

Nel metodo start, per far partire il processo ho provato cose di questo tipo

pid = os.spawnl(os.P_NOWAIT, nome_serv, args)

ed al contempo l'uso di:

child = popen2.Popen3(nomeserv, 1, 100)

ottenendo il pid con :
child.pid

Il problema è che quando avvio un processo in tale modo mi ritrovo si
ad avere il pid... ma il processo risulta in stato defunct.

esempio: pid = os.spawnl(os.P_NOWAIT, '/usr/sbin/smbd',' ')
ottendo il pid 3694

ma la situazione dei processi è la seguente...

3694 pts/2    00:00:00 smbd <defunct>
 3695 ?        00:00:00 smbd
 3696 ?        00:00:00 smbd

Sicuramente mi sfugge qualcosa... avete qualche suggerimento?

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


Other related posts: