The foreground job
Ctrl+Z sends SIGTSTP to the foreground job: frozen, memory and file descriptors kept open.
jobs # list suspended jobs and their numbers
fg # resume the most recent in the foreground
bg # resume it in the background
fg %2 # resume job 2
bg %2
Anything else
Find the PID, then signal:
ps aux | grep <process_name>
pidof <process_name>
sudo kill -STOP <PID> # or kill -SIGSTOP
sudo kill -CONT <PID> # or kill -SIGCONT
SIGSTOP cannot be caught or ignored — reliable when you do not control the process.
In a container
Host signals do not reach a container’s process; use the runtime:
docker pause <container_id>
docker unpause <container_id>
A paused process uses no CPU but keeps its memory. SIGSTOP state is not persisted, so a suspended terminal job dies at reboot; anything that must hold across restarts needs hibernation or explicit state saving.