Thursday, November 9, 2017

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:
     jobs
  • 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 &

No comments:

Post a Comment