KILL(2)                                                                KILL(2)


NAME
       kill - send signal to a process

SYNOPSIS
       kill(pid, sig)
       int pid, sig;

DESCRIPTION
       Kill sends the signal sig to a process, specified by the process number
       pid.  Sig may be one of the signals specified in sigvec(2), or  it  may
       be  0, in which case error checking is performed but no signal is actu‐
       ally sent.  This can be used to check the validity of pid.

       The sending and receiving processes must have the same  effective  user
       ID,  otherwise  this  call  is  restricted to the super-user.  A single
       exception is the signal SIGCONT,  which  may  always  be  sent  to  any
       descendant of the current process.

       If  the process number is 0, the signal is sent to all processes in the
       sender’s process group; this is a variant of killpg(2).

       If the process number is -1 and the user is the super-user, the  signal
       is  broadcast  universally  except  to system processes and the process
       sending the signal.  If the process number is -1 and the  user  is  not
       the  super-user,  the  signal is broadcast universally to all processes
       with the same uid as the user except the process  sending  the  signal.
       No error is returned if any process could be signaled.

       For  compatibility with System V, if the process number is negative but
       not -1, the signal is sent to all processes whose process group  ID  is
       equal  to  the absolute value of the process number.  This is a variant
       of killpg(2).

       Processes may send signals to themselves.

RETURN VALUE
       Upon successful completion, a value of 0  is  returned.   Otherwise,  a
       value of -1 is returned and errno is set to indicate the error.

ERRORS
       Kill  will  fail  and  no  signal  will be sent if any of the following
       occur:

       [EINVAL]       Sig is not a valid signal number.

       [ESRCH]        No process can be found corresponding to that  specified
                      by pid.

       [ESRCH]        The  process  id  was given as 0 but the sending process
                      does not have a process group.

       [EPERM]        The sending process is not the super-user and its effec‐
                      tive user id does not match the effective user-id of the
                      receiving process.  When signaling a process group, this
                      error was returned if any members of the group could not
                      be signaled.

SEE ALSO
       getpid(2), getpgrp(2), killpg(2), sigvec(2)


4th Berkeley Distribution        May 14, 1986                          KILL(2)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 1101
Valid CSS Valid XHTML 1.0 Strict