kill function can be used to send a signal to another process.
In spite of its name, it can be used for a lot of things other than
causing a process to terminate. Some examples of situations where you
might want to send signals between processes are:
This section assumes that you know a little bit about how processes work. For more information on this subject, see section Processes.
kill function is declared in `signal.h'.
killfunction sends the signal signum to the process or process group specified by pid. Besides the signals listed in section Standard Signals, signum can also have a value of zero to check the validity of the pid.
The pid specifies the process or process group to receive the signal:
pid > 0
pid == 0
pid < -1
pid == -1
A process can send a signal signum to itself with a call like
kill (getpid(), signum). If
kill is used by a
process to send a signal to itself, and the signal is not blocked, then
kill delivers at least one signal (which might be some other
pending unblocked signal instead of the signal signum) to that
process before it returns.
The return value from
kill is zero if the signal can be sent
successfully. Otherwise, no signal is sent, and a value of
returned. If pid specifies sending a signal to several processes,
kill succeeds if it can send the signal to at least one of them.
There's no way you can tell which of the processes got the signal
or whether all of them did.
errno error conditions are defined for this function:
kill, but sends signal signum to the process group pgid. This function is provided for compatibility with BSD; using
killto do this is more portable.
As a simple example of
kill, the call
kill (getpid (),
sig) has the same effect as
Go to the first, previous, next, last section, table of contents.