2.9BSD/usr/man/man2/killpg.2j

.TH KILLPG 2J
.UC
.SH NAME
killpg \- send signal to a process or a process group
.SH SYNOPSIS
.B killpg(pgrp, sig)
.PP
.B cc ... \-ljobs
.SH DESCRIPTION
.I Killpg
sends the signal
.I sig
to the specified process group.
See
.IR sigsys (2)
for a list of signals;
see
.IR intro (3J)
for an explanation of process groups.
.PP
The sending process and members of the process group must
have the same effective user ID, otherwise
this call is restricted to the super-user.
As a single special case the continue signal SIGCONT may be sent
to any process which is a descendant of the current process.  This
allows a command interpreter such as
.IR csh (1)
to restart set-user-id processes stopped from the keyboard with a stop signal.
.PP
The calls
.IP
.B "killpg(0, sig)"
.LP
and
.IP
.B "kill(0, sig)
.LP
have identical effects, sending the signal to all members of the
invoker's process group (including the process itself).
It is preferable to use the call involving
.I kill
in this case, as it is portable to other UNIX systems.
.SH RETURN VALUE
Upon successful completion, a value of 0 is returned.  Otherwise, a
value of \-1 is returned and
.I errno
is set to indicate the error.
.SH ERRORS
.I Killpg
will fail and no signal will be sent if any of the following occur:
.TP 20
[EINVAL]
.I Sig
is not a valid signal number.
.TP 20
[ESRCH]
No process can be found corresponding to the process group specified by
.IR pgrp .
.SH "SEE ALSO"
csh(1), kill(1), kill(2), signal(2), sigsys(2J), intro(3J)
.SH "ASSEMBLER (PDP-11)
(kill =37.)
.br
(process number in r0)
.br
.BR "sys kill; \-sig" "	(negative signal number means killpg)"
.SH BUGS
The job control facilities are not available in standard version 7 UNIX.
These facilities are still under development and may change in future
releases of the system as better inter-process communication facilities
and support for virtual terminals become available.  The options and
specifications of this system call and even the call itself
are thus subject to change.