PID proceso

Eduardo Ferro eferro en euskalnet.net
Lun Mayo 7 15:15:41 CEST 2001


El Mon, May 07, 2001 at 02:34:07PM +0200, Pedro Floro dijo:
> On Mon, 7 May 2001, Eduardo Ferro wrote:
> 
> > El Mon, May 07, 2001 at 10:48:18AM +0200, Hernan Martinez Foffani dijo:
> > > Sospecho que para esta altura ya habras conseguido resolverlo, pero si no
> > > lo hiciste..
> > > - la familia de funciones popen (os.popen(), os.popen2(), os.popen3(),
> > > os.popen4() lanzan como minimo un proceso shell ademas del comando a
> > > ejecutar, y dependiendo del comando puede ser que lancen otros procesos
> > > mas. Por eso es imposible obtener el pid.
> > > - la mayoria de los otros mecanismos para ejecutar procesos tienen el mismo
> > > esquema por lo que tampoco podes obtener el pid. os.system() o porque
> > > tratan de ser compatibles con Windows os.spawn()
> > > - lo unico que te queda es usar fork-exec como en C.
> >
> 
> Seguro que no se puede conseguir con un simple popen?
> 
> A ver, si hacemos un ps en la linea de comandos del shell, nos sale el
> PID, el TTY y ams cosas. Bueno, pienso que se podria hacer algo asi:
> 
> from os import popen
> from string import split
> 
> abre=popen('ps')
> lee=abre.readlines()
> del lee[0]
> for i in lee:
>     lista=split(lee[i])
>     print 'PID',lista[0]
> 
> A lo mejor lo veis muy cutre, pero bueno, a mi me lo saca, aunque no se si
> es eso lo que quieres.


No era exactamente eso, por que lo que quiero es poder sacar el pid
sin necesidad de buscar el nombre de comando con un ps, puesto que
puede que se esten ejecutando mas comandos en el sistema con ese
nombre
En todo caso creo que me sirve para mis propositos la clase Popen3 y
su atributo .pid que estan dentro del modulo popen2 que es especifico
de unix


Gracias a todos por la info


-- 
Hasta otra!

	Eduardo Ferro Aldama     eferro en euskalnet.net 
	http://www.todolinux.net/usuarios/eferro/

La web del GLUB http://glub.ehu.es/
Grupo Linux Usuarios de Bizkaia

"Linux, porque yo lo valgo"





Más información sobre la lista de distribución Python-es