En este breve post quiero dejar un script de Python que dado un nombre de proceso, matemos todos los procesos activos. El código está dirigido para sistemas Linux, y se basa en la utilización de ps y grep para la localización de los procesos.
Cuando se ejecuta ps -e en pantalla recibimos líneas con la siguiente información:
PID TTY TIME CMD
18035 ? 00:00:00 python3.7
…
CMD es nuestro texto a buscar, y PID el dato que se obtiene para poder terminar el proceso. Si la salida se pasa a un ‘grep’ podremos filtrar el contenido. El código es el que sigue:
Para realizar ‘ps -e | grep firefox’ en Python, necesitamos ejecutar 2 comandos (Popen), el primero obtiene el listado de procesos con ps, y el segundo comando recibe como input el resultado del primero, así es capaz de ejecutar el grep en esos datos. El resultado puede devolver un proceso, muchos (divididos por saltos de línea \n) o ninguno, por ello se hace una pequeña comprobación y luego se ejecuta un bucle. El PID es el primer elemento, tan fácil como realizar un split por el espacio en blanco y quedarnos con la primera posición. El resultado es el que sigue:
La primera ejecución no estaba corriendo Firefox y en la segunda sí, teniendo un solo proceso. Como veis, nada complicado, y si en nuestros programas necesitamos que un proceso no esté corriendo podemos pasar esté pequeño código al inicio.
Para Windows la búsqueda de determinados procesos se haría con el siguiente comando: tasklist | FIND “firefox”. Ahora si te animas prueba a adaptar el script para que funcione en Windows! Hasta pronto.
Cuando se ejecuta ps -e en pantalla recibimos líneas con la siguiente información:
PID TTY TIME CMD
18035 ? 00:00:00 python3.7
…
CMD es nuestro texto a buscar, y PID el dato que se obtiene para poder terminar el proceso. Si la salida se pasa a un ‘grep’ podremos filtrar el contenido. El código es el que sigue:
![]() |
Figura 1: script de Python para matar procesos en Linux |
Para realizar ‘ps -e | grep firefox’ en Python, necesitamos ejecutar 2 comandos (Popen), el primero obtiene el listado de procesos con ps, y el segundo comando recibe como input el resultado del primero, así es capaz de ejecutar el grep en esos datos. El resultado puede devolver un proceso, muchos (divididos por saltos de línea \n) o ninguno, por ello se hace una pequeña comprobación y luego se ejecuta un bucle. El PID es el primer elemento, tan fácil como realizar un split por el espacio en blanco y quedarnos con la primera posición. El resultado es el que sigue:
![]() |
Figura 2: resultado de lanzar el script |
Para Windows la búsqueda de determinados procesos se haría con el siguiente comando: tasklist | FIND “firefox”. Ahora si te animas prueba a adaptar el script para que funcione en Windows! Hasta pronto.
No hay comentarios:
Publicar un comentario