|KILL(2)||System Calls Manual||KILL(2)|
kill — send signal
to a process
pid, int sig);
kill() function sends the signal given
by sig to pid, a process or a
group of processes. sig may be one of the signals
specified in sigaction(2)
or it may be 0, in which case error checking is performed but no signal is
actually sent. This can be used to check the validity of
For a process to have permission to send a signal to a process
designated by pid, the real or effective user ID of
the receiving process must match that of the sending process or the user
must have appropriate privileges (such as given by a set-user-ID program or
the user is the superuser). A single exception is the signal
SIGCONT, which may always be sent to any process
with the same session ID as the caller.
Setuid and setgid processes are dealt with slightly differently.
For the non-root user, to prevent attacks against such processes, some
signal deliveries are not permitted and return the error
EPERM. The following signals are allowed through to
this class of processes:
For compatibility with System V, if the process number is negative but not -1, the signal is sent to all processes whose process group ID is equal to the absolute value of the process number. This is a variant of killpg(3).
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
kill() will fail and no signal will be
kill() function is expected to conform
to IEEE Std 1003.1-2008
kill() system call first appeared in
Version 3 AT&T UNIX. The
sig argument was introduced in
Version 4 AT&T UNIX.
|November 2, 2015||OpenBSD-6.1|