kill - send signal to a process


       #include <sys/types.h>
       #include <signal.h>

       int kill(pid_t pid, int sig);


       The kill system call can be used to send any signal to any
       process group or process.

       If pid is positive, then signal sig is sent to pid.

       If pid equals 0, then sig is sent to every process in  the
       process group of the current process.

       If pid equals -1, then sig is sent to every process except
       for the first one, from  higher  numbers  in  the  process
       table to lower.

       If  pid is less than -1, then sig is sent to every process
       in the process group -pid.

       If sig is 0, then no signal is sent, but error checking is
       still performed.


       On  success,  zero is returned.  On error, -1 is returned,
       and errno is set appropriately.


       EINVAL An invalid signal was specified.

       ESRCH  The pid or process group does not exist.  Note that
              an  existing  process  might be a zombie, a process
              which already committed termination,  but  has  not
              yet been wait()ed for.

       EPERM  The  process  does  not have permission to send the
              signal to any of the receiving  processes.   For  a
              process to have permission to send a signal to pro­
              cess pid it must either have  root  privileges,  or
              the  real  or effective user ID of the sending pro­
              cess must equal the real or  saved  set-user-ID  of
              the receiving process.


       It  is impossible to send a signal to task number one, the
       init process, for which it has not installed a signal han­
       dler.   This  is  done to assure the system is not brought
       down accidentally.
       SVr4, SVID, POSIX.1, X/OPEN, BSD 4.3


       _exit(2), exit(3), signal(2), signal(7)