En Linux/macOS (y en cualquier sistema Unix-like) puedes pausar y reanudar un proceso en ejecución sin matarlo usando las señales SIGSTOP y SIGCONT. Solo necesitas conocer su PID.
Comandos básicos
| Acción | Comando | Qué hace realmente |
|---|---|---|
| Pausar / congelar | kill -STOP <PID> o kill -19 <PID> |
Envía la señal SIGSTOP → el proceso se detiene completamente (ni CPU ni nada) |
| Reanudar / descongelar | kill -CONT <PID> o kill -18 <PID> |
Envía la señal SIGCONT → el proceso continúa exactamente donde lo dejó |
Ejemplos prácticos
# Supongamos que tienes un programa pesado con PID 12345
ps aux | grep mi_programa_heavy
# → ves que el PID es 12345
# 1) Pausarlo (se congela al instante)
kill -STOP 12345
# o también
kill -19 12345
# 2) Comprobar que está parado (estado T = stopped)
ps aux | grep 12345
# → verás una "T" en la columna STAT
# 3) Reanudarlo más tarde (incluso días después)
kill, kill -CONT 12345
# o también
kill -18 12345Atajos útiles
# Pausar con Ctrl+Z desde la terminal donde está corriendo (foreground)
Ctrl + Z → suspende el proceso actual y te devuelve al shell
# El proceso queda en estado "stopped"
# Reanudar en segundo plano
bg → sigue ejecutándose en background
# Reanudar en primer plano
fg → lo trae de nuevo al foregroundResumen rápido (chuletas)
| Acción | Comando rápido |
|---|---|
| Pausar proceso | kill -STOP 12345 |
| Reanudar proceso | kill -CONT 12345 |
| Pausar proceso actual (tecla) | Ctrl + Z |
| Reanudar en background | bg |
| Reanudar en foreground | fg |
Funciona con cualquier proceso que tú poseas (o con sudo si es de otro usuario/root).
El proceso se queda exactamente en el mismo punto: variables, sockets,
archivos abiertos… todo intacto. Ideal para liberar CPU temporalmente,
mover recursos, o simplemente “congelar” algo mientras investigas
No hay comentarios:
Publicar un comentario