Saltar al contenido

Biblioteca de Python para la gestión de procesos de Linux

Solución:

Para iniciar / detener los subprocesos de Python, puede utilizar el módulo de subproceso. Para comprobar si se están ejecutando, puede utilizar psutil:

>>> import psutil
>>> pid = 1034  # some pid
>>> psutil.pid_exists(pid)
True
>>>

… o esto (también comprobará si el PID se ha reutilizado):

>>> p = psutil.Process(pid)
>>> p.is_running()
True
>>>

La verificación de la lista de procesos en ejecución se logra (incluso mediante utilidades centrales como “ps”) mirando el contenido del directorio / proc.

Como tal, la biblioteca que le interesa para consultar los procesos en ejecución es la misma que se usa para trabajar con cualquier otro archivo y directorio (es decir, sys o os, dependiendo del sabor que busques. Preste especial atención a os.path aunque hace la mayor parte de lo que buscas). Para terminar o interactuar de otra manera con los procesos, les envía señales, lo cual se logra con os.kill. Finalmente, comienza nuevos procesos usando os.popen y amigos.

Como dijiste que este es un servidor Linux, llamar al externo PD binario suele ser más lento, utiliza más recursos y es más propenso a errores que utilizar la información de / proc directamente.

Como nadie más lo mencionó, una forma sencilla es:

glob.glob('/proc/[0-9]*/')

Buena suerte.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *