Next: Load balancing
Up: Future enhancements to ProtoWrap
Previous: Master initialization program and
Contents
Unix processes often interoperate by using signals. In a Unix system
, there are many predefined signals, and probably the three that are more frequently
used are SIGTERM, SIGKILL, SIGHUP and SIGCHLD.
Signals provide a way of controlling processes, either from other processes
or from the kernel itself. Some signals can be ignored or caught
and some can not. The signals just mentioned have the following purposes:
- SIGTERM
- Termination signal. A process which recieves this signal should
finish its activity and shut down cleanly. This signal can be caught or ignored.
- SIGKILL
- Kill signal. When this signal is sent to a process, the process gets
immediately terminated. This signal can neither be caught nor ignored, and it
is often used as the last resort method to kill a process.
- SIGHUP
- Hangup signal. This signal can be used in many different ways; it was
originally concieved to inform a process that its controlling terminal or process
has just hung up or died, and that it should terminate cleanly. Another use
has however been found for it due to its ability to be caught, and has now become
its primary use: Sending SIGHUP to a daemon process makes it reload its configuration
and restart.
- SIGCHLD
- Child stopped or terminated. This signal is sent whenever a child process
has finished execution, so that the parent process can clean up after it, recieve
the results to a certain operation, or whatever information must be sent. This
signal is often ignored.
Currently, ProtoWrap does no signal handling, except for specifically ignoring
SIGCHLD to avoid having zombie processes lying around waiting to be reaped.
Restarting on SIGHUP can be very useful, and it should soon be added to ProtoWrap.
As ProtoWrap does not hold long-term information on system memory, catching
SIGTERM would not be really important, except for logging or cleanup purposes.
Next: Load balancing
Up: Future enhancements to ProtoWrap
Previous: Master initialization program and
Contents
Gunnar Wolf
2001-03-12