El otro dia tuve que montar un cluster de Microsoft R Server (recientemente renombrado Machine Learning Server). En un momento dado tuve que realizar unas pruebas de performance y para ello necesitaba aumentar el número de Shell Pools que proveen los servicios para la ejecución de código remoto.

Dado que el proceso de creación puede ser un poco lento y la cantidad de Pools grande tenía ganas de ir monitoreando en la inea de comandos la cantidad de procesos creados. Dado que no estoy muy acostumbrado a administrar servidores Windows tuve que hacer una búsqueda de comandos de PowerShell que me permita acceder a los procesos del sistema. El resultado fue Get-Process.

Siendo nuevo en el mundo Windows, aún tengo una relación amor-odio con PowerShell, no obstante recuperar un listado de procesos corriendo con un determinado nombre (Spotify por ejemplo) puede ser fácilmente obtenido con:

> Get-Process Spotify

Hacer un conteo de la cantidad de procesos se obtiene a través del siguiente comando

> @(Get-Process Spotify).count

Si no queremos darle un minimo de manejo de error y que no falle si no encuentra un proceso con el nombre definido podemos usar el siguiente parametro

> @(Get-Process -ea SilentlyContinue Spotify).count