edit this article

Job Control

This tip shows you how to use the basics of job control in the shell by putting processes in the background and returning them to the foreground.

Whenever you execute a command at the command line, that's a job that has to be run. Most commands execute quickly and return you to the command line. But some commands (for example, using cp to copy a large amount of data), can take a long time. When that happens, your terminal will be unaccessible unless you put the job in the background.

To put a job in the background, type ctrl-z to suspend the job (and regain control of your terminal), and then type bg to put the job in the background.

Code Listing 1

% cp file backup/file 
zsh: 1398 suspended  cp file backup/file 
% bg 
[1]  + continued  cp file backup/file

Alternatively, you can put the job in the background from the start using the & sign.

Code Listing 2

% cp file backup/file & 
[1] 1608

To see your running jobs you can use jobs. If you need to stop a job, you can use kill %jobnumber

Code Listing 3

% cp file backup/file & 
[1] 1751 
% jobs 
[1] + running   cp file backup/file 
% kill %1 
// no news is good news

From http://www.gentoo.org/news/en/gwn/20040209-newsletter.xml

rate this article:
current rating: average rating: 2.8 (4 votes) (1=very good 6=terrible)
Your rating:
Very good (1) Good (2) ok (3) average (4) bad (5) terrible (6)