Fondo abstracto azul tecnológico para artículo sobre procesos en Linux

Cómo gestionar procesos en Linux: ps, top, htop y kill

¿Qué es un proceso en Linux?

En Linux, un proceso es cualquier programa en ejecución. Cada vez que abres una terminal, ejecutas un comando o inicias una aplicación, el sistema operativo crea un proceso con un identificador único llamado PID (Process ID).

Gestionar procesos es una habilidad fundamental para cualquier administrador de sistemas. En este tutorial veremos las herramientas más importantes: ps, top, htop y kill.

El comando ps: listar procesos

El comando ps (process status) muestra una instantánea de los procesos en ejecución en ese momento.

Uso básico de ps

# Ver procesos del usuario actual
ps

# Ver todos los procesos del sistema
ps aux

# Ver procesos en formato árbol
ps auxf

El comando ps aux es el más utilizado. Sus columnas significan:

  • USER: usuario propietario del proceso
  • PID: identificador del proceso
  • %CPU: porcentaje de CPU utilizado
  • %MEM: porcentaje de memoria RAM utilizado
  • COMMAND: comando que lanzó el proceso

Buscar un proceso específico con ps y grep

# Buscar el proceso de nginx
ps aux | grep nginx

# Buscar procesos de un usuario concreto
ps aux | grep victor

El comando top: monitorización en tiempo real

top es el monitor de procesos clásico de Linux. A diferencia de ps, se actualiza continuamente y permite ver el estado del sistema en tiempo real.

# Lanzar top
top

# Lanzar top mostrando solo procesos de un usuario
top -u victor

# Actualizar cada 2 segundos (por defecto son 3)
top -d 2

Atajos de teclado dentro de top

  • P: ordenar por uso de CPU
  • M: ordenar por uso de memoria
  • k: matar un proceso (te pedirá el PID)
  • q: salir de top
  • h: mostrar ayuda

El comando htop: la versión mejorada de top

htop es una versión más visual e interactiva de top. Muestra barras de progreso para CPU y memoria, permite desplazarse con las flechas del teclado y matar procesos de forma más intuitiva.

Instalar htop

# En Debian/Ubuntu
sudo apt install htop

# En CentOS/RHEL/Fedora
sudo dnf install htop

# En Arch Linux
sudo pacman -S htop

Lanzar htop

htop

Una vez dentro, puedes usar F6 para ordenar por columna, F9 para enviar señales a procesos y F10 para salir.

El comando kill: terminar procesos

Para detener un proceso en Linux usamos el comando kill, que envía una señal al proceso indicado.

Señales más comunes

  • SIGTERM (15): pide al proceso que se cierre de forma limpia (señal por defecto)
  • SIGKILL (9): fuerza el cierre inmediato, sin posibilidad de ignorarlo
  • SIGHUP (1): recarga la configuración del proceso (útil para daemons)
# Terminar proceso por PID (señal SIGTERM por defecto)
kill 1234

# Forzar cierre de un proceso
kill -9 1234

# Terminar proceso por nombre
killall nginx

# Terminar proceso por nombre (más seguro)
pkill nginx

Encontrar el PID antes de matar el proceso

# Obtener el PID de un proceso por nombre
pidof nginx

# Alternativa
pgrep nginx

Procesos en segundo plano: & , bg y fg

En Linux puedes ejecutar procesos en segundo plano para seguir usando la terminal mientras se ejecutan.

# Ejecutar un comando en segundo plano
ping google.com &

# Ver jobs en segundo plano
jobs

# Traer un job al primer plano
fg %1

# Enviar un proceso al segundo plano (si ya está corriendo)
# Primero pulsa Ctrl+Z para pausarlo, luego:
bg %1

Resumen: tabla de comandos

ComandoFunción
ps auxListar todos los procesos
topMonitorizar procesos en tiempo real
htopMonitorizar con interfaz visual
kill <PID>Terminar proceso por PID
kill -9 <PID>Forzar cierre de proceso
killall <nombre>Terminar procesos por nombre
pgrep <nombre>Obtener PID por nombre

Conclusión

Dominar la gestión de procesos en Linux es esencial para cualquier administrador de sistemas o profesional DevOps. Con ps, top, htop y kill tienes todo lo necesario para controlar qué está corriendo en tu sistema y actuar cuando algo no va bien.

¿Tienes alguna duda o quieres profundizar en algún comando? Déjalo en los comentarios.

Publicaciones Similares

Deja una respuesta

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