Tasklist y Taskkill en Windows

El otro día estaba teniendo la curiosidad de ver como puedo matar procesos de windows a través de la consola de comandos. Como lo hacemos en linux con el comando kill.

He encontrado estos dos comandos que nos serviran a la hora de realizar scripts para windows o cuando tenemos un problema que no podemos matar un proceso de la máquina a través del administrador de tareas.

También otro programa que nos dará bastante información acerca de los procesos es «process XP» conocido en la actualidad como process explorer de microsoft. Este programa es gratuito.

Tasklist

Este comando nos permite ver los procesos que se están ejecutando actualmente en una máquina local o una remota. Para detallar un poco más la información del comando tasklist vamos a detallar sus parámetros.

TASKLIST [/S sistema [/U usuario [/P [contraseña]]]] [/M [módulo] | /SVC | /V] [/FI filtro] [/FO formato] [/NH]
  • /S : Servidor remoto al que queremos conectarnos.
  • /U : Usuario o Dominio\Usuario con el que accederemos al servidor remoto.
  • /P : Contraseña en plano, si lo dejamos en blanco nos solicitará la contraseña.
  • /M : Nos indica los módulos que están usando los procesos .dll y .exe.
  • /SVC : Muestra los servicios hospedados en cada proceso.
  • /V : Muestra información detallada de cada proceso.
  • /FI filtro : Muestra información de los procesos que coinciden con el filtro usado.
    • Para ver los posibles filtros se recomienda ver la ayuda del comando con /?
  • /FO formato : Especifica el formato de salida de la información. Formatos disponibles «table», «list» y «csv».
  • /NH : Omite los encabezados de información a la hora de exportar la salida a un fichero. Sólo es válido para «table» y «csv».

Ejemplos prácticos con Tasklist

Exportando la salida a un fichero y lo guardamos en el escritorio del usuario que ejecuta el comando.

tasklist /V /FO CSV > %userprofile%/Desktop/list.csv

Ver las aplicaciones que se están ejecutando en el momento.

tasklist /V /FI "STATUS eq running"

Muestra las tareas que está ejecutando el módulo ntdll.dll

tasklist /M ntdll.dll

Ejecuta el comando remotamente pasando el usuario y la contraseña además exportanto a table y sin encabezados.

tasklist /S sistema /U nombreusuario /P contraseña /FO TABLE /NH

Lo mismo que la anterior pero especificando dominio y solicitará la contraseña.

tasklist /S sistema /U dominio nombreusuario /FO TABLE /NH

Taskkill

Este comando nos permite cerrar el proceso que queramos. Esto se suele usar con programas que queremos cerrar porque consuma mucha memoria, procesos colgados u otro tipo de usos.

TASKKILL [/S sistema] [/U usuario [/P [contraseña]]]] { [/FI filtro] [/PID IdProceso | /IM NombreImagen] } [/T] [/F]

  • /S : Servidor remoto al que queremos conectarnos.
  • /U : Usuario o Dominio\Usuario con el que accederemos al servidor remoto.
  • /P : Contraseña en plano, si lo dejamos en blanco nos solicitará la contraseña.
  • /FI : Permite aplicar un filtro a la hora de cerrar los procesos. Permite caracteres comodines como «*».
    • Para ver los posibles filtros recomendamos ejecutar la ayuda del comando en windows. taskkill /?
  • /PID : Permite cerrar la aplicación a través del número del proceso.
  • /IM : Permite cerrar la aplicación a través del nombre del proceso.
  • /T : Permite cerrar todo el arbol de procesos que afecta al que estamos cerrando.
  • /F : Permite terminar el proceso forzosamente.

Notas que nos dá el propio comando:

  1. El comodín «*» (/IM), se acepta sólo cuando se aplica un filtro.
  2. Los procesos remotos se cerraran siempre forzozamente (/F).
  3. Los filtros «WINDOWTITLE» y «STATUS» no se consideran cuando es un equipo remoto.

Ejemplos prácticos con Taskkill

Terminando varios PID de distintas aplicaciones

TASKKILL /PID 1230 /PID 1241 /PID 1253

Terminando forzosamente el arbol de procesos del comando cmd.exe

TASKKILL /F /IM cmd.exe /T

Terminando forzosamente todos los procesos donde el PID sea mayor o igual a 1000 y el nombre de la ventana no tenga untitle*

TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"

Terminando los procesos remotos donde el nombre del proceso sea igual a note* (EJ: Notepad.exe)

TASKKILL /S sistema /U nombreusuario /P contraseña /FI "IMAGENAME eq note*"

Conclusión de Tasklist y Taskkill

En este documento hemos aprendido a utilizar los comandos tasklist y taskkill para poder realizar un montón de funciones ya sea en scripts o como administrador de sistemas.

2 comentarios en “Tasklist y Taskkill en Windows”

Deja un comentario

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