 |
Index for Section 2 |
|
 |
Alphabetical listing for K |
|
 |
Bottom of page |
|
kill(2)
NAME
kill - Send a signal to a process or to a group of processes
SYNOPSIS
#include <signal.h>
int kill(
pid_t process,
int signal );
Application developers may want to specify an #include statement for
<sys/types.h> before the one for <signal.h> if programs are being developed
for multiple platforms. The additional #include statement is not required
on Tru64 UNIX systems or by ISO or XSH specifications, but may be on other
vendors' systems that conform to these standards.
STANDARDS
Interfaces documented on this reference page conform to industry standards
as follows:
kill(): XSH4.0, XSH4.2, XSH5.0
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
process
Specifies the process or group of processes.
signal
Specifies the signal. If the signal parameter is a value of 0 (the
null signal), error checking is performed but no signal is sent. This
can be used to check the validity of the process parameter.
DESCRIPTION
The kill() function sends the signal specified by the signal parameter to
the process or group of processes specified by the process parameter.
To send a signal to another process, at least one of the following must be
true:
· The real or the saved set-user-ID of the sending process matches the
real or effective user ID of the receiving process.
· The process is trying to send the SIGCONT signal to one of its
session's processes.
· The process has root privileges.
Processes can send signals to themselves.
Sending a signal does not imply that the operation is successful. All
signal operations must pass the access checks prescribed by each enforced
access control policy on the system.
If the process parameter is greater than 0 (zero), the signal specified by
the signal parameter is sent to the process that has a process ID equal to
the value of the process parameter.
If the process parameter is equal to 0 (zero), the signal specified by the
signal parameter is sent to all of the processes (other than system
processes) whose process group ID is equal to the process group ID of the
sender.
If the process parameter is equal to -1, the signal specified by the signal
parameter is sent to all of the processes other than system processes for
which the process has permission to send that signal. For example, if the
effective user ID of the sender has root privileges, the signal specified
by the signal parameter is sent to all of the processes other than system
processes.
If the process parameter is negative but not -1, the signal specified by
the signal parameter is sent to all of the processes that have a process
group ID equal to the absolute value of the process parameter.
[Tru64 UNIX] In a TruCluster Server cluster, if the process parameter is
greater than 0 (zero), the signal specified by the signal parameter is sent
to the process that has a process ID equal to the value of the process
parameter, even if that process is on another cluster member. The process
ID is guaranteed to be unique across the cluster.
[Tru64 UNIX] In a TruCluster Server cluster, if the process parameter is
equal to -1, the signal specified by the signal parameter is sent to all
non-system processes (on the current cluster member) for which the process
has permission to send that signal.
[Tru64 UNIX] In a TruCluster Server cluster, if the process parameter is
negative but not -1, the signal specified by the signal parameter is sent
to all of the processes that have a process group ID equal to the absolute
value of the process parameter, even if those processes are on another
cluster member.
NOTES
Some applications and scripts depend on the process ID of the init program
being 1 (one): do not depend on it. Instead, use standard methods, such as
the ps and grep commands, to obtain all process IDs.
RETURN VALUES
Upon successful completion, the kill() function returns a value of 0
(zero). Otherwise, a value of -1 is returned and errno is set to indicate
the error.
ERRORS
The kill() function sets errno to the specified values for the following
conditions:
[EINVAL]
The signal parameter is not a valid signal number.
[Tru64 UNIX] The signal parameter is SIGKILL, SIGSTOP, SIGTSTP or
SIGCONT and the process parameter is the process ID of the init
program.
[ESRCH]
No process or process group can be found corresponding to that
specified by the process parameter.
[EPERM]
The real or saved user ID does not match the real or effective user ID
of the receiving process, the calling process does not have appropriate
privilege, and the process is not sending a SIGCONT signal to one of
its session's processes.
[EACCES]
[Tru64 UNIX] The calling process does not have appropriate privileges.
SEE ALSO
Functions: getpid(2), killpg(2), setpgid(2), sigaction(2), sigvec(2),
raise(3)
Standards: standards(5)
 |
Index for Section 2 |
|
 |
Alphabetical listing for K |
|
 |
Top of page |
|