Provided by: manpages-dev_4.04-2_all bug


       killpg - send signal to a process group


       #include <signal.h>

       int killpg(int pgrp, int sig);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):



       killpg()  sends  the  signal  sig  to the process group pgrp.  See signal(7) for a list of

       If pgrp is 0, killpg() sends the signal to the calling process's  process  group.   (POSIX
       says: If pgrp is less than or equal to 1, the behavior is undefined.)

       For  a  process  to  have  permission to send a signal it must either be privileged (under
       Linux: have the CAP_KILL capability), or the real or effective  user  ID  of  the  sending
       process  must  equal  the real or saved set-user-ID of the target process.  In the case of
       SIGCONT it suffices when the sending and receiving processes belong to the same session.


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


       EINVAL sig is not a valid signal number.

       EPERM  The process does not have permission to send  the  signal  to  any  of  the  target

       ESRCH  No process can be found in the process group specified by pgrp.

       ESRCH  The  process  group  was given as 0 but the sending process does not have a process


       POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (killpg() first appeared in 4BSD).


       There are various differences between the permission  checking  in  BSD-type  systems  and
       System V-type systems.  See the POSIX rationale for kill().  A difference not mentioned by
       POSIX concerns the return value EPERM: BSD documents that no  signal  is  sent  and  EPERM
       returned  when  the  permission  check failed for at least one target process, while POSIX
       documents EPERM only when the permission check failed for all target processes.

   C library/kernel differences
       On  Linux,  killpg()  is  implemented  as  a  library  function  that   makes   the   call
       kill(-pgrp, sig).


       getpgrp(2), kill(2), signal(2), capabilities(7), credentials(7)


       This  page  is  part of release 4.04 of the Linux man-pages project.  A description of the
       project, information about reporting bugs, and the latest version of  this  page,  can  be
       found at