Estados de los procesos
100%

Procesos · Lección 9

Estados de los procesos

Aprende a interpretar los códigos habituales de estado de procesos de Linux en instantáneas de `ps`.

Una tarea de Linux pasa por distintos estados de ejecución mientras se ejecuta, espera, se detiene y termina. El campo STAT de ps captura un instante, así que, para diagnosticar un comportamiento, resulta más útil repetir las observaciones que basarse en una sola letra.

$ ps -o pid,ppid,stat,wchan:24,cmd

El primer carácter de STAT indica el estado principal. Los caracteres adicionales son modificadores que describen propiedades como el liderazgo de una sesión o la pertenencia al grupo de procesos en primer plano. Consulta el manual local de ps para ver el conjunto completo.

Ejecución y espera interrumpible

  • R significa que la tarea está en ejecución o preparada para ejecutarse. Está usando una CPU o esperando tiempo de CPU en una cola de ejecución.
  • S significa espera interrumpible. La tarea espera un suceso y puede despertarse mediante una señal o un suceso apropiados.

La espera es normal. Los programas interactivos y los servicios pasan gran parte del tiempo esperando entradas, temporizadores, tráfico de red, bloqueos u otros sucesos, en lugar de consumir CPU continuamente.

¿Qué significa el estado principal R?

¿Qué estado principal representa la espera interrumpible?

Espera ininterrumpible

D significa espera ininterrumpible, normalmente mientras la tarea aguarda dentro de una operación del kernel, como ciertas operaciones de E/S de almacenamiento o de un sistema de archivos de red. La tarea no actúa sobre señales ordinarias hasta salir de esa espera; mientras tanto, una señal puede quedar pendiente.

Un estado D breve puede ser normal. La presencia persistente o abundante de tareas en D puede indicar una E/S lenta, no disponible o defectuosa, pero el estado por sí solo no identifica la causa. Antes de extraer conclusiones, examina el canal de espera, los registros del kernel, el estado del almacenamiento y de la red, y el subsistema correspondiente.

¿Qué estado principal indica una espera ininterrumpible?

Estados detenido y zombi

  • T suele significar que la tarea fue detenida por una acción de control de trabajos, como SIGTSTP, o por SIGSTOP. Algunas herramientas emplean la t minúscula para una detención provocada por rastreo.
  • Z significa zombi: el proceso terminó, pero su padre todavía no ha recolectado el registro de terminación.

Cuando corresponda, reanuda una tarea detenida por el control de trabajos con SIGCONT. Un zombi no se puede reanudar ni matar porque ya no se está ejecutando; su padre o un proceso recolector que lo haya adoptado debe recolectarlo.

¿Qué identifica el estado principal Z?

Interpretar los estados en su contexto

Los códigos de estado son observaciones, no diagnósticos. Combínalos con el tiempo transcurrido, el uso de CPU, los canales de espera, las relaciones de parentesco, los registros y muestras repetidas. Una tarea puede cambiar de estado entre el instante en que el kernel lo comunica y el instante en que tú lees la pantalla.

Lección completada

Has completado Estados de los procesos

Ahora puedes interpretar los estados principales de proceso más habituales.

  • Interpreta R como en ejecución o preparada para ejecutarse, y S como espera interrumpible.

  • Investiga un estado D persistente como síntoma de una espera, no como un diagnóstico.

  • Distingue el estado detenido T del estado terminado pero no recolectado Z.

  • Utiliza observaciones repetidas y las pruebas que las rodean.

Guarda tu progreso

Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.

Crear una cuenta gratuita
Siguiente Lección
Volver a Procesos