The “jobs” command is a built-in command of the BASH shell (and other shells like ZSH and KSH) that allows you to view information about the processes that have been spawned by the current shell. When you run a command in the shell, that command is executed as a separate process. The jobs command allows you to view a list of all the processes that have been started by the current shell, along with their current status.
Some common options and usage of the “jobs” command include:
jobs: By simply running the command “jobs” without any options, it will display a list of all the jobs currently running or stopped in the background and the current status of each job.
- jobs -l: This option will display the process ID (PID) of each job in the list, in addition to the other information.
- jobs -p: This option will display only the process IDs of the jobs in the list, and not the other information.
- jobs -n: This option will display only the jobs that have changed status since the last time the jobs command was run.
- jobs -r: This option will display only the running jobs in the list.
- jobs -s: This option will display only the stopped jobs in the list.
You can also use the command fg % to bring a background job to the foreground, or bg % to continue running a stopped job in the background.
jobs Command Examples
1. Show status of all jobs:
# jobs
2. Show status of a particular job:
# jobs %job_id
3. Show status and process IDs of all jobs:
# jobs -l
4. Show process IDs of all jobs:
# jobs -p
5. Display running processes:
# jobs -r
6. Display stopped processes:
# jobs -s