killpg - send signal to a process group (4.3BSD)
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
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.
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
killpg will fail and no signal will be sent if any of the following
[EINVAL] Sig is not a valid signal number.
[ESRCH] No process can be found in the process group specified by
[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.
kill(3B), getpgrp(2), sigvec(3B)
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.
PPPPaaaaggggeeee 2222 [ Back ]