RE: [Python-es] Programa en ejecuciòn

Sebastián Lezica slezica en dosalinfinito.com.ar
Mie Ago 18 22:44:40 CEST 2004


Hola Catalin!,
	Esto puede servirte?, devuelve None o el handle de la aplicación en caso de que este abierta;
supongo que el problema seria saber cual proceso 'pythonw' o 'python' corresponde al que queres
cerrar, y cual al mismo script que esta chequeando :-).

def AppIsRunning(appname):
    try: tHandle = win32ui.FindWindow(None, appname)
    except:
        try: tHandle = win32ui.FindWindow(appname, None)
        except:
            tHandle = None
    return(tHandle)

Saludos!,

Sebastián Lezica

-----Mensaje original-----
De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org]En
nombre de Catalin Lungu
Enviado el: Miércoles, 18 de Agosto del 2004 07:31
Para: La lista de python en castellano
Asunto: Re: [Python-es] Programa en ejecuciòn


El problema es que no se como encontrar el id del proceso a través del
código.

Intento aclarar un poco lo del proceso fantasma.
Un proceso fantasma es una aplicación que esta corriendo en la memoria, que
puede tener ventanas o no, y que haga diferentes operaciones dependiendo de
varios eventos. Vamos, esta es mi opinión.

Un saludo,
Catalin Lungu


----- Original Message -----
From: "Luis W. Sevilla" <sevilla_lui en gva.es>
To: "La lista de python en castellano" <python-es en aditel.org>
Sent: Wednesday, August 18, 2004 12:15 PM
Subject: Re: [Python-es] Programa en ejecuciòn


> Mensaje citado por Miguel Angel Garcia <miguela.garcia3 en alu.uclm.es>:
>
> > En Windows se puede hacer (con habilidad) que un proceso sea un
> > "fantasma" y que no aparezca ni siquiera entre la lista de procesos. Eso
> > lo aprovechan algunos virus para no ser detectables.
> >
> > En GNU/Linux no existe esa posibilidad. Un proceso sin Id no es
> > alcanzable, por lo que no puede estar en ejecución.
> >
> > Aún no he logrado comprender qué utilidad tiene un proceso fantasma. A
> > parte de procesos mal intencionados, claro.
> >
> > De todas formas, si no has escrito tu programa a propósito para no ser
> > detectado, deberías tener un identificador de proceso (no de ventana; la
> > ventana es una "cualidad" del proceso).
> >
> > La solución más simple me parece la de crear un ficherito "lock" y si el
> > fichero existe, da una alarma de proceso activo y en paz. Si el fichero
> > no existe, arranca sin problemas y borra el fichero al acabar (acuérdate
> > de borrarlo también en el arranque de Windows, por si se te quedara
> > frito).
> Si, esa del fichero lock es muy usada en linux/unix. Lo más normal (para
> prevenir tener dos ejecuciones simultaneas) es poner el id del proceso en
un
> fichero de texto que se borra al salir normalmente. La existencia de ese
> fichero
> se comprueba en el arranque, y si existe se comprueba que el proceso con
ese
> id está en ejecución. Si no lo está borras el fichero (poniendo el nuevo
con el
> id de la ejecución actual), y si lo está sales con un mensaje de error.
> Esta solución es bastante elegante, además de muy difundida.
> >
> > El mié, 18-08-2004 a las 11:47, Julio Canto escribió:
> > > Catalin Lungu wrote:
> > >
> > > >El problema es que el programa es un proceso fantasma y no tiene
ninguna
> > > >ventana. A mi interesaría si al ejecutarlo devuelve algún ID del hilo
> > para
> > > >luego buscarlo en la lista de procesos activos.
> > > >
> > > >Un saludo,
> > > >CL
> > > >
> > > >
> > > Hmmm... que no veas una ventana no significa que no este ahi :) Si lo
> > > que estas lanzando es un programa desde python, tiene que tener una
> > > ventana asociada, aunque este oculta (o eso creo). Lo de proceso
> > > fantasma he de confesar que me suena a nuevo, no lo habia escuchado
nunca
> > :?
> > > Un saludo,
> > >     JC
> > > _______________________________________________
> > > Python-es mailing list
> > > Python-es en aditel.org
> > > http://listas.aditel.org/listinfo/python-es
> > --
> > Miguel Ángel García
> > http://arco.inf-cr.uclm.es/~miguel
> >
> > Software Libre para Gente Libre
> > Free Software for Free People
> >
> >
>
>
>   Luis W. Sevilla
>   Equipo de desarrollo gvSIG
>   http://www.gvsig.gva.es
>   Conselleria de Infraestructuras y Transporte
>   Generalitat Valenciana
>   Valencia - España
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
>


_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es




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