Skip to content

Instantly share code, notes, and snippets.

@kevin-miles
Created January 29, 2015 17:26
Show Gist options
  • Save kevin-miles/78c002ec07658468cb5b to your computer and use it in GitHub Desktop.
Save kevin-miles/78c002ec07658468cb5b to your computer and use it in GitHub Desktop.
How do I run a Unix process in the background?
In Unix, a background process executes independently of the shell, leaving the terminal free for other work. To run a process in the background, include an & (an ampersand) at the end of the command you use to run the job. Following are some examples:
To run the count program, which will display the process identification number of the job, enter:
count &
To check the status of your job, enter:
ps
To bring a background process to the foreground, enter:
fg
If you have more than one job suspended in the background, enter:
fg %#
Replace # with the job number, as shown in the first column of the output of the jobs command.
You can kill a background process by entering:
kill PID
Replace PID with the process ID of the job. If that fails, enter the following:
kill -KILL PID
To determine a job's PID, enter:
jobs -l
If you are using sh, ksh, bash, or zsh, you may prevent background processes from sending error messages to the terminal. Redirect the output to /dev/null using the following syntax:
count 2> /dev/null &
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment