KILLPG(3B)                                                          KILLPG(3B)


NAME
     killpg - send signal to a process group (4.3BSD)

SYNOPSIS
     #include <signal.h>

     int killpg(pid_t pgrp, int sig);

     To use any of the BSD signal routines (kill(3B), killpg(3B),
     sigblock(3B), signal(3B), sigpause(3B), sigsetmask(3B), sigstack(2B),
     sigvec(3B)) you must either

     1) #define _BSD_SIGNALS or _BSD_COMPAT before including <signal.h>, or

     2) specify one of them in the compile command or makefile:

          cc -D_BSD_SIGNALS -o prog prog.c


DESCRIPTION
     killpg sends the signal sig to the process group pgrp.  See sigvec(3B)
     for a list of signals.

     The sending process and members of the process group must have the same
     effective user ID, or the sender must be the super-user.  As a single
     special case the continue signal SIGCONT may be sent to any process that
     is a descendant of the current process.

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

ERRORS
     killpg 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 in the process group specified by
                    pgrp.

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

     [EPERM]        The sending process is not the super-user and one or more
                    of the target processes has an effective user ID different
                    from that of the sending process.


SEE ALSO
     kill(3B), getpgrp(2), sigvec(3B)

WARNING (IRIX)
     The 4.3BSD and System V signal facilities have different semantics.
     Using both facilities in the same program is strongly discouraged and
     will result in unpredictable behavior.


                                                                        Page 2