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
Ver la estructura en árbol de los procesos:
ps -ejH
Esto ayuda a entender qué procesos son "hijos" de otros procesos.
Filtrar por PID:
ps -p 1234
Dónde
1234
es tu PID. Muestra solo el proceso especificado.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
ohtop
. - 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
- 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.
- La herramienta
htop
debe instalarse por separado si no la tienes. Si el comando no se ejecuta, revisa la instalación. - 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!
GO TO FULL VERSION