Monday, 19 August 2013

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 &

No comments:

Post a Comment