Module Release July 2002: Job Control
This month's module release include 3 course modules covering LPI 101, Topic
1.3, Objectives 5 and 6, respectively:
-
"Running jobs in the foreground and background, bringing a job from the
background to the foreground and vice versa, monitoring active processes,
sending signals to processes, and killing processes; including use of
ps, top, kill, bg, fg, and jobs commands."
- "Running a program with higher or lower priority, determining the priority of
a process, changing the priority of a running process; including the command
nice and its relatives"
Module No. 8, called "Job Control" introduces the basic concept of running
multiple processes concurrently, how to suspend a process or put it into the
background while you focus on another one, and how to track
background/suspended processes via shell job numbers.
Unix newbies often make the reasonable, but mistaken, assumption that putting
processes into the background or suspending them is no longer important when
you have X windowing, virtual desktops, and over-powered CPUs. They typically
overlook the fact that most remote processing (a key feature of Unix) is
easiest to do at a command line running in a terminal emulator, and that we
still have finite screen real estate and finite network bandwidth. The latter
is particularly important given the high latency and heavy bandwidth
requirements of many X windowing applications. As a consequence, knowing how
to foreground, background, prioritise and signal individual processes is an
essential requirement for any professional Unix administrator.
Module No. 9, called "Create, Monitor, and Kill Processes", provides a more
detailed description of what a process actually is and how to monitor one using
its process identifier (PID). It points out the way in which processes are
dependent on other processes (their parents), on their working directory, and
their environment variables. It then discusses the use of ps, pstree, top and
pidof to monitor processes and send instructions to them (signalling).
Fine-grained control over running processes, through simple signalling, has
long been a major advantage of industrial quality Unix systems over personal
computer OSs like Microsoft Windows.
Module No. 10, called "Modifying Process Execution Priorities" is a very brief
introduction to the concept of process execution priority, and the practice of
setting and changing priorities with the nice and renice commands.
|