install psutil python 3
Monitorear el proceso en Python? (3)
Creo que esta es una pregunta bastante básica, pero aquí está de todos modos.
Necesito escribir un script python que verifique para asegurarse de que se esté ejecutando un proceso, digamos notepad.exe. Si el proceso se está ejecutando, no haga nada. Si no es así, comienza. ¿Cómo se haría esto?
Estoy usando Python 2.6 en Windows XP
Hay un par de opciones,
1: el más crudo pero obvio sería hacer algo de procesamiento de texto en contra:
os.popen(''tasklist'').read()
2: Una opción más complicada sería utilizar pywin32 e investigar las API de win32 para descubrir qué procesos se están ejecutando.
3: WMI ( encontré esto ahora), y aquí hay un ejemplo de vbscript de cómo consultar la máquina para procesos a través de WMI.
Las funciones de creación de procesos del módulo os
aparentemente están en desuso en Python 2.6 y posterior, con el módulo de subprocess
como el módulo de elección ahora, entonces ...
if ''notepad.exe'' not in subprocess.Popen(''tasklist'', stdout=subprocess.PIPE).communicate()[0]:
subprocess.Popen(''notepad.exe'')
Tenga en cuenta que en Python 3, la cadena que se va a verificar tendrá que ser un objeto de bytes, por lo que sería
if b''notepad.exe'' not in [blah]:
subprocess.Popen(''notepad.exe'')
(El nombre del archivo / proceso para iniciar no necesita ser un objeto de bytes).