CodeGym /Cursos /Docker SELF /Gestión de procesos del sistema: ps, top, htop

Gestión de procesos del sistema: ps, top, htop

Docker SELF
Nivel 2 , Lección 4
Disponible

Gestión de procesos del sistema: ps, top, htop

1. Comando ps — una vista estática de los procesos

Si Linux fuera un restaurante, el proceso sería el chef en la cocina. Es una instancia ejecutable de un programa que existe en la memoria. Cuando ejecutas una aplicación o archivo desde la línea de comandos, se crea un proceso que luego realiza sus tareas hasta que termina.

Desde el punto de vista de la programación, los procesos son gestionados por el núcleo de Linux, y cada uno tiene un identificador único — PID (Process ID).

El comando ps (process status) es un comando básico para ver la lista de procesos. Proporciona una instantánea estática de los procesos actuales en el sistema. Con ps, puedes obtener información sobre los procesos en ejecución: sus ID, dueño (propietario), línea de comandos, y los recursos utilizados.

Sintaxis básica

Así se ve el comando básico:

ps

Esto mostrará los procesos ejecutados en la terminal actual.

¡Pero qué aburrido! Vamos a añadir algo de sabor:

ps aux

Aquí:

  • a — muestra procesos de otros usuarios.
  • u — añade un formato más legible.
  • x — incluye procesos que no están vinculados a una terminal.

Ejemplo de salida:

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1  22556  1044 ?        Ss   12:34   0:01 /sbin/init
student      2345  0.1  0.2  34567  2048 pts/0    S+   12:35   0:02 bash
student      4567  0.3  0.5  56789  5144 pts/0    R+   12:36   0:03 ps aux
  • USER: usuario que ejecutó el proceso.
  • PID: identificador del proceso.
  • %CPU: porcentaje de uso de CPU.
  • %MEM: porcentaje de uso de la memoria.
  • COMMAND: comando que inició el proceso.

Opciones avanzadas

  1. Ver la estructura en árbol de los procesos:

    ps -ejH
    

    Esto ayuda a entender qué procesos son "hijos" de otros procesos.

  2. Filtrar por PID:

    ps -p 1234
    

    Dónde 1234 es tu PID. Muestra solo el proceso especificado.

  3. Mostrar todos los procesos junto con la línea de comando completa:

    ps -ef
    

2. Comando top — monitoreo dinámico de procesos

top — es como una tele para los procesos. Puedes observar cómo los procesos cambian en tiempo real. Si estás corriendo un servidor o tu compu empezó a “irse lenta”, top es tu mejor amigo. Con él puedes ver qué procesos están usando más CPU y memoria.

Conceptos básicos de uso

Simplemente teclea en la terminal:

top

Ejemplo del output:

  • La línea superior muestra la “carga” del sistema.
  • La parte del medio te dice sobre las tareas (total, activas, en espera, zombies).
  • La parte baja se dedica a la memoria.
  • El bloque inferior es la lista de procesos, donde hay un montón de info útil, incluyendo PID, USER, %CPU y COMMAND.

Navegación en top

  • Presiona k para terminar un proceso. Introduce el PID.
  • Presiona P para ordenar los procesos por CPU.
  • Presiona M para ordenarlos por uso de memoria.
  • Presiona q para salir.

3. La utilidad htop: una interfaz práctica

Si top te parece demasiado "simple", bienvenido a htop. Es una interfaz visual para monitorear procesos. Es colorida, compatible con el ratón y bastante fácil de entender.

Instalación

Si htop no está instalado, añádelo así:

sudo apt-get install htop # Para distribuciones basadas en Debian
sudo yum install htop     # Para distribuciones basadas en RedHat

Ejecutar

Para iniciar htop, solo escribe:

htop

Ejemplo de interfaz:

Ventajas de htop:

  • Capacidad de desplazarse por la lista de procesos.
  • Destacados en colores para CPU, memoria, swap.
  • Teclas prácticas para terminar procesos (por ejemplo, F9).

4. Tarea práctica

Tarea 1: Encuentra el proceso más "glotón"

  • Abre top o htop.
  • Ordena los procesos por CPU e identifica su PID.

Tarea 2: Finaliza el proceso

  • Usa kill para "matar" el proceso:
    kill <PID>
    

Tarea 3: Análisis del proceso

  • Usa ps para analizar el PID del proceso:
    ps -p <PID> -o pid,user,%cpu,%mem,cmd
    

Trampas y recomendaciones

  1. No mates procesos si no estás seguro de que no son críticos para el funcionamiento del sistema. Por ejemplo, el proceso con PID 1 — es init, la base del SO.
  2. La herramienta htop debe instalarse por separado si no la tienes. Si el comando no se ejecuta, revisa la instalación.
  3. Ten cuidado con los privilegios. Terminar procesos iniciados por otro usuario podría requerir permisos de administrador.

En la práctica, notarás que estas herramientas hacen que trabajar con Linux sea increíblemente flexible y visual. ¡Ahora eres el jefe de los procesos!

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION