diff options
Diffstat (limited to 'man2/kill.2')
-rw-r--r-- | man2/kill.2 | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/man2/kill.2 b/man2/kill.2 deleted file mode 100644 index 1260ee0..0000000 --- a/man2/kill.2 +++ /dev/null @@ -1,165 +0,0 @@ -.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 -.\" -.\" SPDX-License-Identifier: Linux-man-pages-copyleft -.\" -.\" Modified by Michael Haardt <michael@moria.de> -.\" Modified by Thomas Koenig <ig25@rz.uni-karlsruhe.de> -.\" Modified 1993-07-23 by Rik Faith <faith@cs.unc.edu> -.\" Modified 1993-07-25 by Rik Faith <faith@cs.unc.edu> -.\" Modified 1995-11-01 by Michael Haardt -.\" <michael@cantor.informatik.rwth-aachen.de> -.\" Modified 1996-04-14 by Andries Brouwer <aeb@cwi.nl> -.\" [added some polishing contributed by Mike Battersby <mib@deakin.edu.au>] -.\" Modified 1996-07-21 by Andries Brouwer <aeb@cwi.nl> -.\" Modified 1997-01-17 by Andries Brouwer <aeb@cwi.nl> -.\" Modified 2001-12-18 by Andries Brouwer <aeb@cwi.nl> -.\" Modified 2002-07-24 by Michael Kerrisk <mtk.manpages@gmail.com> -.\" Added note on historical rules enforced when an unprivileged process -.\" sends a signal. -.\" Modified 2004-06-16 by Michael Kerrisk <mtk.manpages@gmail.com> -.\" Added note on CAP_KILL -.\" Modified 2004-06-24 by aeb -.\" Modified, 2004-11-30, after idea from emmanuel.colbus@ensimag.imag.fr -.\" -.TH kill 2 2023-10-31 "Linux man-pages 6.7" -.SH NAME -kill \- send signal to a process -.SH LIBRARY -Standard C library -.RI ( libc ", " \-lc ) -.SH SYNOPSIS -.nf -.B #include <signal.h> -.P -.BI "int kill(pid_t " pid ", int " sig ); -.fi -.P -.RS -4 -Feature Test Macro Requirements for glibc (see -.BR feature_test_macros (7)): -.RE -.P -.BR kill (): -.nf - _POSIX_C_SOURCE -.fi -.SH DESCRIPTION -The -.BR kill () -system call -can be used to send any signal to any process group or process. -.P -If \fIpid\fP is positive, then signal \fIsig\fP is sent to the -process with the ID specified by \fIpid\fP. -.P -If \fIpid\fP equals 0, then \fIsig\fP is sent to every process in the -process group of the calling process. -.P -If \fIpid\fP equals \-1, then \fIsig\fP is sent to every process -for which the calling process has permission to send signals, -except for process 1 (\fIinit\fP), but see below. -.P -If \fIpid\fP is less than \-1, then \fIsig\fP is sent to every process -in the process group whose ID is \fI\-pid\fP. -.P -If \fIsig\fP is 0, then no signal is sent, -but existence and permission checks are still performed; -this can be used to check for the existence of a process ID or -process group ID that the caller is permitted to signal. -.P -For a process to have permission to send a signal, -it must either be privileged (under Linux: have the -.B CAP_KILL -capability in the user namespace of the target process), -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 -.BR SIGCONT , -it suffices when the sending and receiving -processes belong to the same session. -(Historically, the rules were different; see NOTES.) -.SH RETURN VALUE -On success (at least one signal was sent), zero is returned. -On error, \-1 is returned, and -.I errno -is set to indicate the error. -.SH ERRORS -.TP -.B EINVAL -An invalid signal was specified. -.TP -.B EPERM -The calling process does not have permission to send the signal -to any of the target processes. -.TP -.B ESRCH -The target process or process group does not exist. -Note that an existing process might be a zombie, -a process that has terminated execution, but -has not yet been -.BR wait (2)ed -for. -.SH STANDARDS -POSIX.1-2008. -.SH HISTORY -POSIX.1-2001, SVr4, 4.3BSD. -.SS Linux notes -Across different kernel versions, Linux has enforced different rules -for the permissions required for an unprivileged process -to send a signal to another process. -.\" In the 0.* kernels things chopped and changed quite -.\" a bit - MTK, 24 Jul 02 -In Linux 1.0 to 1.2.2, a signal could be sent if the -effective user ID of the sender matched effective user ID of the target, -or the real user ID of the sender matched the real user ID of the target. -From Linux 1.2.3 until 1.3.77, a signal could be sent if the -effective user ID of the sender matched either the real or effective -user ID of the target. -The current rules, which conform to POSIX.1, were adopted -in Linux 1.3.78. -.SH NOTES -The only signals that can be sent to process ID 1, the -.I init -process, are those for which -.I init -has explicitly installed signal handlers. -This is done to assure the -system is not brought down accidentally. -.P -POSIX.1 requires that \fIkill(\-1,sig)\fP send \fIsig\fP -to all processes that the calling process may send signals to, -except possibly for some implementation-defined system processes. -Linux allows a process to signal itself, but on Linux the call -\fIkill(\-1,sig)\fP does not signal the calling process. -.P -POSIX.1 requires that if a process sends a signal to itself, -and the sending thread does not have the signal blocked, -and no other thread -has it unblocked or is waiting for it in -.BR sigwait (3), -at least one -unblocked signal must be delivered to the sending thread before the -.BR kill () -returns. -.SH BUGS -In Linux 2.6 up to and including Linux 2.6.7, -there was a bug that meant that when sending signals to a process group, -.BR kill () -failed with the error -.B EPERM -if the caller did not have permission to send the signal to \fIany\fP (rather -than \fIall\fP) of the members of the process group. -Notwithstanding this error return, the signal was still delivered -to all of the processes for which the caller had permission to signal. -.SH SEE ALSO -.BR kill (1), -.BR _exit (2), -.BR pidfd_send_signal (2), -.BR signal (2), -.BR tkill (2), -.BR exit (3), -.BR killpg (3), -.BR sigqueue (3), -.BR capabilities (7), -.BR credentials (7), -.BR signal (7) |