summaryrefslogtreecommitdiffstats
path: root/man/man3/killpg.3
diff options
context:
space:
mode:
Diffstat (limited to 'man/man3/killpg.3')
-rw-r--r--man/man3/killpg.3113
1 files changed, 113 insertions, 0 deletions
diff --git a/man/man3/killpg.3 b/man/man3/killpg.3
new file mode 100644
index 0000000..35edc0e
--- /dev/null
+++ b/man/man3/killpg.3
@@ -0,0 +1,113 @@
+.\" Copyright (c) 1980, 1991 Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" SPDX-License-Identifier: BSD-4-Clause-UC
+.\"
+.\" @(#)killpg.2 6.5 (Berkeley) 3/10/91
+.\"
+.\" Modified Fri Jul 23 21:55:01 1993 by Rik Faith <faith@cs.unc.edu>
+.\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified 2004-06-16 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\" Added notes on CAP_KILL
+.\" Modified 2004-06-21 by aeb
+.\"
+.TH killpg 3 2024-05-02 "Linux man-pages (unreleased)"
+.SH NAME
+killpg \- send signal to a process group
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B #include <signal.h>
+.P
+.BI "int killpg(int " pgrp ", int " sig );
+.fi
+.P
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.P
+.BR killpg ():
+.nf
+ _XOPEN_SOURCE >= 500
+.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
+ || /* Since glibc 2.19: */ _DEFAULT_SOURCE
+ || /* glibc <= 2.19: */ _BSD_SOURCE
+.fi
+.SH DESCRIPTION
+.BR killpg ()
+sends the signal
+.I sig
+to the process group
+.IR pgrp .
+See
+.BR signal (7)
+for a list of signals.
+.P
+If
+.I pgrp
+is 0,
+.BR killpg ()
+sends the signal to the calling process's process group.
+(POSIX says: if
+.I pgrp
+is less than or equal to 1, the behavior is undefined.)
+.P
+For the permissions required to send a signal to another process, see
+.BR kill (2).
+.SH RETURN VALUE
+On success, zero is returned.
+On error, \-1 is returned, and
+.I errno
+is set to indicate the error.
+.SH ERRORS
+.TP
+.B EINVAL
+.I sig
+is not a valid signal number.
+.TP
+.B EPERM
+The process does not have permission to send the signal
+to any of the target processes.
+For the required permissions, see
+.BR kill (2).
+.TP
+.B ESRCH
+No process can be found in the process group specified by
+.IR pgrp .
+.TP
+.B ESRCH
+The process group was given as 0 but the sending process does not
+have a process group.
+.SH VERSIONS
+There are various differences between the permission checking
+in BSD-type systems and System\ V-type systems.
+See the POSIX rationale for
+.BR kill (3p).
+A difference not mentioned by POSIX concerns the return
+value
+.BR EPERM :
+BSD documents that no signal is sent and
+.B EPERM
+returned when the permission check failed for at least one target process,
+while POSIX documents
+.B EPERM
+only when the permission check failed for all target processes.
+.SS C library/kernel differences
+On Linux,
+.BR killpg ()
+is implemented as a library function that makes the call
+.IR "kill(\-pgrp,\ sig)" .
+.SH STANDARDS
+POSIX.1-2008.
+.SH HISTORY
+POSIX.1-2001, SVr4, 4.4BSD
+(first appeared in 4BSD).
+.SH SEE ALSO
+.BR getpgrp (2),
+.BR kill (2),
+.BR signal (2),
+.BR capabilities (7),
+.BR credentials (7)