Introducing UNIX and Linux |
Processes and devicesOverview |
SignalsThe kernel controls many processes, created by possibly many users, and including many that are 'system' processes, necessary for the system to function. The kernel allows these processes to communicate by sending 'messages' to each other. Any process in the system can send a message to any other process, and because there could be many processes and many messages being sent, UNIX restricts the messages to being very simple. These messages are known as signals, and each
takes the form of a single byte. They are instructions to
processes, such as kill (cease running immediately) and
stop (become a suspended process). Signals are concerned
with the scheduling of processes, that is,
when and in which order they are executed. The
command The signal
where This raises the question of why you might ever wish to destroy a process. It sometimes happens that a process that is running in the background is left there by mistake, for instance if the software that created it was poorly written. It also happens sometimes that you send a program to run in the background when you think it will run for a long time, and later on discover that because of an error in the program it is failing to finish. It is important to remember that UNIX uses processes as its most basic concept of a 'program'. Remembering PIDs can be tedious, however. A more 'user-friendly' method of handling processes, called job control, is available, which we now introduce. |
Copyright © 2002 Mike Joy, Stephen Jarvis and Michael Luck