Necesitamos obtener un listado de procesos en un sistema Windows y al intentar ejecutar ps aux obtenemos:

A diferencia de los sistemas de la familia Unix, Windows no posee el comando ps, aunque incluye un comando tasklist relativamente decente para lograr el objetivo de listar procesos.



Por defecto tasklist lista los nombres de todos los procesos en ejecución, junto con su PID y uso de memoria:

La opción /V permite mostrar además el usuario con el que se está ejecutando cada proceso y el tiempo de CPU utilizado:

Una opción interesante es /M, la cual lista todas las librerías dinámicas que utiliza cada proceso:

Y si se indica un nombre de librería en particular, /M lista todos los procesos que la están utilizando:

Aunque la opción más útil de todas es /SVC, la cual lista todos los servicios que hospeda cada proceso:

Esta opción es realmente muy útil, ya que en sistemas Windows ocurre que existen procesos que implementan muchos servicios diferentes. El caso más común es el de svchost.exe, el cual implementa una gran cantidad de servicios, y es común que existan muchas instancias del mismo en ejecución.

¿Qué pasa si, por citar un ejemplo, el servicio "Dhcp" no responde y está ocasionando problemas, o por la razón que fuese necesitamos detenerlo o reiniciarlo? ¿Cómo es posible identificar cuál de todas las instancias de "svchost.exe" es la que hospeda dicho servicio? Simplemente recurriendo al comando tasklist /SVC.

Por ejemplo, en la captura anterior se observa que la instancia de "svchost.exe" que hospeda al servicio "Dhcp" es aquella cuyo PID es 740.


Tal vez pueda interesarte


Compartí este artículo