Shell Job Control
jobs | List your jobs. |
| Run a job in the background. |
| Suspend the current (foreground) job. |
suspend | Suspend a shell. |
fg | Unsuspend a job: bring it into the foreground. |
bg | Make a suspended job run in the background. |
All shells have job control: the ability to run programs in the background (multitasking behind the scenes) and foreground (running as the active process at your shell prompt). A job is simply the shell’s unit of work. When you run a command interactively, your current shell tracks it as a job. When the command completes, the associated job disappears. Jobs are at a higher level than OS X processes (discussed in Viewing Processes); OS X knows nothing about them. They are merely constructs of the shell. Some important vocabulary about job control is:
- Foreground job
Running in a shell, occupying the shell prompt so you cannot run another command
- Background job
Running in a shell, but not occupying the shell prompt, so you can run another command in the same shell
- Suspend
To stop a foreground job temporarily
- Resume
To cause a suspended job to start running again
Get Macintosh Terminal Pocket Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.