kill - Sends a signal to a running process
kill -l [exit_status]
kill [-signal_name | signal_number] process_ID...
kill -s signal_name process_ID...
Note
The C shell has a built-in version of the kill command.
If you are using the C shell, and want to guarantee that
you are using the command described here, you must specify
the full path /usr/bin/kill. See the csh(1) reference
page for a description of the built-in command.
Interfaces documented on this reference page conform to
industry standards as follows:
kill: XCU5.0
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
The kill command supports the following options: Lists
signal names.
If you specify an exit status (a numeric value) or
the shell special parameter $?, which expands to
the exit status of the most recent pipeline, kill
prints the name of the terminating signal. Specifies
the signal to send, using one of the symbolic
names defined for required signals or job control
signals. Values of signal_name are recognized in
both uppercase or lowercase letters, and without
the SIG prefix. The symbolic name 0 (zero), which
represents the value 0 (zero), is also recognized.
The corresponding signal is sent instead of
SIGTERM. Specifies the signal to send to the process.
You can specify either a name, stripped of
the SIG prefix (such as KILL), or a number (such as
9). For information about signal names and numbers,
see the sigaction() system call.
A process identification number
[Tru64 UNIX] There are several special process
identification numbers (PIDs) that you can specify
to cause the following special actions: The signal
is sent to all processes having a process group ID
equal to the process group ID of the sender, except
those with a process ID of 0 (zero) and the process
ID of the init process.
Signals using this PID do not span cluster members.
If the effective user ID of the sender is not 0
(root), the signal is sent to all processes with a
process group ID equal to the effective user ID of
the sender, except those with a process ID of 0
(zero) and the process ID of the init process.
If the effective user ID of the sender is 0 (root),
the signal is sent to all processes (on the current
member if a cluster), except the process ID of 0
(zero) and the process ID of the init process.
Signals using this PID do not span cluster members.
The signal is sent to all processes whose process
group number is equal to the absolute value of PID.
This is true even in the case of a cluster where
the process to receive the signal is on another
cluster member. Note that when you specify any
negative PID, you must also specify the signal to
be sent, even the default signal SIGTERM. A decimal
integer specifying a signal number or the exit
status of a process terminated by a signal.
The kill command sends a signal to one or more running
processes. The default is the SIGTERM signal (signal number
15), which usually terminates processes that do not
ignore or catch the signal.
You identify the process to be signaled by specifying its
process identification number (also known as the process
ID or PID). The shell displays the PID of each process
that is running in the background or, if you start more
than one process in a pipeline, the shell displays the
number of the last process. You can also use the ps command
to display PIDs.
[Tru64 UNIX] The name of the kill command is misleading
because many signals, including SIGUSR1, do not terminate
processes.
[Tru64 UNIX] Unless you are operating with superuser
privileges, the process you want to signal must belong to
you. When operating with superuser authority, you can
signal any process.
[Tru64 UNIX] See the kill() system call for a complete
discussion of kill. Note that the csh command contains a
built-in subcommand named kill, but the command and subcommand
do not necessarily work in the same way. For
information on the subcommand, see csh.
[Tru64 UNIX] In a TruCluster Server cluster, if the
passed parameter is greater than zero (0), the signal is
sent to the process whose PID matches the passed parameter,
no matter on which cluster member it is running. If
the passed parameter is less than -1, the signal is sent
to all processes (cluster-wide) whose process group ID
matches the absolute value of the passed parameter.
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.
The following exit values are returned: At least one
matching process was found, and the specified signal was
successfully processed for at least one matching process.
An error occurred.
The following command terminates the process with the
specified PID: kill 1095
This command terminates process 1095 by sending it
the default SIGTERM signal. Note that process 1095
might not actually terminate if it has made special
arrangements to ignore or catch the SIGTERM signal.
The following command terminates several processes
that ignore the default signal: kill -KILL 17285
15692
This command sends SIGKILL to processes 17285 and
15692. The SIGKILL signal usually cannot be ignored
or caught. The following command terminates all of
your background processes. Signals using this PID
do not span cluster members. kill 0
This command sends the SIGTERM signal to all members
of the shell process group. This includes all
background processes started with &. Although the
signal is sent to the shell, it has no effect
because the shell ignores the default signal 15.
The following command terminates all of your processes
and logs you out. Signals using this PID do
not span cluster members. kill -KILL 0
This command sends SIGKILL to all members of the
shell process group. Because the shell cannot
ignore SIGKILL, this also terminates the login
shell and logs you out. If you are using multiple
windows, this closes the active window. The following
command terminate all the processes that you
own. Signals using this PID do not span cluster
members. kill -KILL -1
This command sends SIGKILL to all the processes
that you own, even those that belong to other process
groups. If you are using multiple windows,
this command closes all the windows. The following
command sends a specific signal to a specific process:
kill -USR1 1103
This command sends the SIGUSR1 signal to process
1103. The action taken on the SIGUSR1 signal is
defined by the particular application you are running.
The following command lists the signal names
in numerical order, stripped of the SIG prefix:
kill -l
1) HUP 13) PIPE 25) XFSZ
37) RTMIN+4
2) INT 14) ALRM 26) VTALRM
38) RTMIN+5
3) QUIT 15) TERM 27) PROF
39) RTMIN+6
4) ILL 16) URG 28) WINCH
40) RTMIN+7
5) TRAP 17) STOP 29) PWR
41) RTMAX-7
6) LOST 18) TSTP 30) USR1
42) RTMAX-6
7) EMT 19) CONT 31) USR2
43) RTMAX-5
8) FPE 20) CHLD 32) RESV
44) RTMAX-4
9) KILL 21) TTIN 33) RTMIN
45) RTMAX-3 10) BUS 22) TTOU 34)
RTMIN+1 46) RTMAX-2 11) SEGV 23)
POLL 35) RTMIN+2 47) RTMAX-1 12) SYS
24) XCPU 36) RTMIN+3 48) RTMAX
The command output can vary from system to system.
ENVIRONMENT VARIABLES [Toc] [Back] The following environment variables affect the execution
of kill: Provides a default value for the internationalization
variables that are unset or null. If LANG is unset
or null, the corresponding value from the default locale
is used. If any of the internationalization variables
contain an invalid setting, the utility behaves as if none
of the variables had been defined. If set to a non-empty
string value, overrides the values of all the other internationalization
variables. Determines the locale for the
interpretation of sequences of bytes of text data as characters
(for example, single-byte as opposed to multibyte
characters in arguments). Determines the locale for the
format and contents of diagnostic messages written to
standard error. Determines the location of message catalogues
for the processing of LC_MESSAGES.
Specifies signal names.
Commands: csh(1), killall(8), ksh(1), ps(1), Bourne shell
sh(1b), POSIX shell sh(1p)
Functions: kill(2), sigaction(2)
Standards: standards(5)
kill(1)
[ Back ] |