Managing Terminal Jobs

My terminal workflow usually involves multiple windows and tabs with a job running in each. Lately though I’ve been trying to use the capabilities that Bash provides to manage jobs and run them in the background.

Here are some useful commands I’ve found.

Command What It Does
ctrl-z Suspend the current job
jobs List the current jobs
fg %[number] Resume a job in the foreground
bg %[number] Resume a job in the background
kill %[number] Stops a job
%[name|number] Resume a job in the foreground
disown %[number] Keep a job to running after terminal is closed
nohup job & Run a job in the background