Managing Background Jobs

UNIX is a multitasking operating system. This means that, in general, you can start more than one job, and all will run concurrently. Your station is not tied up waiting for them to finish. You can even specify sequences of jobs so that one job will not start until the previous job has completed.

Starting Background Jobs

To start a job in the background, simply end the UNIX command with a space and then an ampersand (&), as shown in this example:

$ make acmesys > acme.log 2>&1 &
27903
$

Here’s a breakdown of the parts of that command:

  • make is a command that can take a long time to complete; therefore, you might run it in the background so that it does not tie up your station.

  • > acme.log redirects the output from make ...

Get Practical UNIX 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.