(libc.info.gz) Permission for kill

Info Catalog (libc.info.gz) Signaling Another Process (libc.info.gz) Generating Signals (libc.info.gz) Kill Example
 
 24.6.3 Permission for using 'kill'
 ----------------------------------
 
 There are restrictions that prevent you from using 'kill' to send
 signals to any random process.  These are intended to prevent antisocial
 behavior such as arbitrarily killing off processes belonging to another
 user.  In typical use, 'kill' is used to pass signals between parent,
 child, and sibling processes, and in these situations you normally do
 have permission to send signals.  The only common exception is when you
 run a setuid program in a child process; if the program changes its real
 UID as well as its effective UID, you may not have permission to send a
 signal.  The 'su' program does this.
 
    Whether a process has permission to send a signal to another process
 is determined by the user IDs of the two processes.  This concept is
 discussed in detail in  Process Persona.
 
    Generally, for a process to be able to send a signal to another
 process, either the sending process must belong to a privileged user
 (like 'root'), or the real or effective user ID of the sending process
 must match the real or effective user ID of the receiving process.  If
 the receiving process has changed its effective user ID from the
 set-user-ID mode bit on its process image file, then the owner of the
 process image file is used in place of its current effective user ID. In
 some implementations, a parent process might be able to send signals to
 a child process even if the user ID's don't match, and other
 implementations might enforce other restrictions.
 
    The 'SIGCONT' signal is a special case.  It can be sent if the sender
 is part of the same session as the receiver, regardless of user IDs.
 
Info Catalog (libc.info.gz) Signaling Another Process (libc.info.gz) Generating Signals (libc.info.gz) Kill Example
automatically generated by info2html