Todo lo que necesitas saber sobre los procesos en Windows

La gente se pregunta, frecuentemente, sobre esos archivos con nombres raros (normalmente impronunciables) que observan cuando un buen día les da por abrir el Administrador de Tareas de Windows. ¿Son procesos buenos o malos? ¿Deberían estar ahí?

Hoy voy a entrar un poco en faena con el tema de los procesos, ofreciendo algunas explicaciones, así como métodos de comprobación o recursos útiles para entender esto.

Según la wikipedia un proceso: “Puede informalmente entenderse como un programa en ejecución”. Formalmente un proceso es “Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados“.

ProcessExplorer11

En el enlace tenéis más información, pero lo que nos interesa es saber que los procesos son porciones de programas que tienen un propósito determinado y estos son administrados por el sistema operativo. Con el tiempo, muchos de los procesos básicos y relacionados con el funcionamiento de Windows se han ido ocultando a ojos del usuario.

Procesos en Windows

Muchos procesos internos (subsistemas) del sistema de Microsoft están divididos en parte “user mode” y parte “Kernel”. La terminación inesperada de estos procesos suele causar cuelgues, apagados e inestabilidades varias.

bootProcess

A continuación os describo algunos procesos que aparecen siempre en Windows (y su misión):

  • Csrss: Client/Server Runtime Server Subsystem. Es la parte de modo usuario del subsistema Win32 (cuya parte Kernel sería Win32.sys). Csrss gestiona el subsistema de negociación cliente-servidor y debe estar siempre activo. Es responsable de ventanas de consola, añadir o borrar hilos de ejecución y algunas partes del entorno virtual MS-DOS de 16 bit.
  • Explorer.exe: Explorador de Windows. Descrito por Microsoft como “entorno de usuario, encargado de mostrarnos la familiar barra de tareas, escritorio y demás”. Este proceso no es tan vital para el sistema como se puede pensar. Podemos cerrarlo y abrirlo tantas veces queramos y en ocasiones es necesario hacerlo para terminar algunos programas bloqueados.
  • Svchost.exe: ServiceHost. Es un nombre de proceso host genérico para servicios que se ejecutan en librerías de enlace dinámico (DLL). El archivo está ubicado en  %SystemRoot%System32. Al iniciarse Windows, Svchost.exe comprueba la parte de servicios asociada al Registro, para así construir la lista de servicios que necesita cargar. Pueden llegar a ejecutarse varias instáncias de este proceso al mismo tiempo.

Podéis conseguir descripciones sobre otros procesos de Windows y también sobre programas de uso habitual en Im Not a Geek o en Tasklist.org. Además, en la primera de las webs podréis conocer donde se ubican dichos procesos en el directorio de Windows y saber si han sido manipulados por el malware.

Administrando los procesos

El comando TaskList

TaskList muestra todas las aplicaciones en ejecución y sus servicios, acompañados de su ID de Proceso (PID). Se puede ejecutar de forma local o remota y su utilidad os quedará clara enseguida. Primero abriremos una ventana de Símbolo de Sistema (CMD) de Windows pulsando sobre Ejecutar > CMD

tasklist1

Escribiremos:

tasklist

tasklist2

Se muestran los procesos ejecutados con su PID y consumo de memoria. No es mucho más de lo que se puede averiguar con el Administrador de Tareas, sin embargo:

  • Si escribimos la palabra “options” tras el comando, podremos ver lo que se nos permite hacer con él.

Por ejemplo, podemos utilizar:

TASKLIST /svc

Esto añadirá los servicios asociados, si corresponde.

tasklist_svc

TASKLIST /v /fi “STATUS eq running”

Esto añade nuevos datos, como el usuario o tiempo de ejecución.

TASKLIST _v_fi

TASKLIST /v /fi “username eq UtilesPC” (donde UtilesPC sería el usuario)

El componente SC

Se trata de un administrador de Servicios de Microsfot Windows que la mayoría desconoce. Es potente y no se limita a listar servicios, también nos permite interactuar con ellos.

sc query

Podéis comenzar a utilizarlo escribiendo:

Sc

Después, mediante sintaxis como “Start“, “Stop“, “delete” y similares, podremos hacer mucho con ella.

La siguiente entrada creará un listado con los servicios en ejecución, en formato CSV.

SC QUERY state= all |findstr “DISPLAY_NAME STATE” >my_services.csv

El componente WMIC

Windows Management Instrumentation Command. Otra utilidad potente pero poco conocida. Sirve para muchas más cosas, pero para conseguir información sobre procesos nos ofrece algo muy útil: la ruta completa donde se ejecutan las aplicaciones.

wmic1

 

Después de buscar la consola WMIC (similar a CMD en aspecto) tendréis que introducir el siguiente comando:

wmic process

Ó

wmic processlist

Como podéis ver en la imagen inferior, marcado en rojo, se muestra la ubicación del archivo asociado al proceso.

wmic2

 

Podéis consultar todos los tipos de sintaxis aceptados por WMIC aquí.

Por último, recordad que siempre podéis utilizar una aplicación que haga el trabajo por vosotros:

Anuncios

Deja un comentario!

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s