In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
,
kill
is a
command that is used in several popular
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s to send
signals to running
processes
A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic.
Things called a process include:
Business and management
*Business process, activities that produce a specific se ...
.
Implementations
Unix and Unix-like
In
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
and
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating systems,
kill
is a
command used to send a
signal to a process. By default, the message sent is the
termination signal
A termination signal is a sequence that signals the end of transcription or translation. Termination signals are found at the end of the part of the chromosome being transcribed during transcription of mRNA. Termination signals bring a stop to tra ...
, which requests that the process
exit. But ''kill'' is something of a misnomer; the signal sent may have nothing to do with process killing. The
kill
command is a
wrapper around the
kill()
system call
In computing, a system call (commonly abbreviated to syscall) is the programmatic way in which a computer program requests a service from the operating system on which it is executed. This may include hardware-related services (for example, acc ...
, which sends
signals to processes or
process groups on the system, referenced by their numeric
process IDs (PIDs) or
process group IDs (PGIDs).
kill
is always provided as a standalone utility as defined by the
POSIX
The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system- and user-level application programming inte ...
standard. However, most
shells have
built-in kill
commands that may slightly differ from it.
There are many different signals that can be sent (see ''
signal'' for a full list), although the signals in which users are generally most interested are
SIGTERM
Signals are standardized messages sent to a running program to trigger specific behavior, such as quitting or error handling. They are a limited form of inter-process communication (IPC), typically used in Unix, Unix-like, and other POSIX-co ...
("terminate") and
SIGKILL ("kill"). The default signal sent is SIGTERM. Programs that handle this signal can do useful cleanup operations (such as saving configuration information to a file) before quitting. However, many programs do not implement a special handler for this signal, and so a default signal handler is called instead. Other times, even a process that has a special handler has gone awry in a way that prevents it from properly handling the signal.
All signals except for SIGKILL and
SIGSTOP ("stop") can be "intercepted" by the process, meaning that a special function can be called when the program receives those signals. The two exceptions SIGKILL and SIGSTOP are only seen by the host system's
kernel
Kernel may refer to:
Computing
* Kernel (operating system), the central component of most operating systems
* Kernel (image processing), a matrix used for image convolution
* Compute kernel, in GPGPU programming
* Kernel method, in machine lea ...
, providing reliable ways of controlling the execution of processes. SIGKILL kills the process, and SIGSTOP pauses it until a
SIGCONT ("continue") is received.
Unix provides security mechanisms to prevent unauthorized users from killing other processes. Essentially, for a process to send a signal to another, the owner of the signaling process must be the same as the owner of the receiving process or be the
superuser.
The available signals all have different names, and are mapped to certain numbers. It is important to note that the specific mapping between numbers and signals can vary between Unix implementations. SIGTERM is often numbered 15 while SIGKILL is often numbered 9.
Examples
A process can be sent a
SIGTERM
Signals are standardized messages sent to a running program to trigger specific behavior, such as quitting or error handling. They are a limited form of inter-process communication (IPC), typically used in Unix, Unix-like, and other POSIX-co ...
signal in four ways (the process ID is '1234' in this case):
kill 1234
kill -s TERM 1234
kill -TERM 1234
kill -15 1234
The process can be sent a
SIGKILL signal in three ways:
kill -s KILL 1234
kill -KILL 1234
kill -9 1234
Other useful signals include HUP, TRAP, INT,
SEGV and ALRM. HUP sends the
SIGHUP signal. Some daemons, including
Apache and
Sendmail, re-read
configuration file
In computing, configuration files (commonly known simply as config files) are files used to configure the parameters and initial settings for some computer programs. They are used for user applications, server processes and operating system ...
s upon receiving SIGHUP, so the kill command may be used for this too. A
SIGINT
Signals intelligence (SIGINT) is intelligence-gathering by interception of '' signals'', whether communications between people (communications intelligence—abbreviated to COMINT) or from electronic signals not directly used in communication ...
signal can be generated very simply by pressing
in most
Unix shells. It is also common for
to be mapped to
SIGTSTP
In Unix and Unix-like operating systems, job control refers to control of jobs by a shell, especially interactively, where a "job" is a shell's representation for a process group. Basic job control features are the suspending, resuming, or termina ...
("terminal stop"), and for
(backslash) to be mapped to
SIGQUIT, which can force a program to do a
core dump
In computing, a core dump, memory dump, crash dump, storage dump, system dump, or ABEND dump consists of the recorded state of the working Computer storage, memory of a computer program at a specific time, generally when the program has crash (comp ...
.
Related programs
*
killall - on some variations of Unix, such as
Solaris, this utility is automatically invoked when the system is going through a
shutdown. It behaves much like the kill command above, but instead of sending a signal to an individual process, the signal is sent to all processes on the system. However, on others such as
IRIX,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
, and
FreeBSD, an argument is supplied specifying the name of the process (or processes) to kill. For instance, to kill a process such as an instance of the
XMMS music player invoked by
xmms
, the user would run the command
killall xmms
. This would kill all processes named
xmms
, and is equivalent to
kill `pidof xmms`
on systems like Solaris.
*
pkill - signals processes based on name and other attributes. It was introduced in Solaris 7 and has since been reimplemented for Linux,
NetBSD and
OpenBSD
OpenBSD is a security-focused operating system, security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by fork (software development), forking N ...
. pkill makes killing processes based on their name much more convenient: e.g. to kill a process named ''firefox'' without pkill (and without
pgrep), one would have to type
kill `ps --no-headers -C firefox -o pid`
whereas with pkill, one can simply type
pkill firefox
.
*
xkill
Xkill is a utility program distributed with the X Window System that instructs the X server to forcefully terminate its connection to a client, thus "killing" the client. When run with no command line arguments, the program displays a special cu ...
- if called without any parameters, the mouse cursor changes from an arrow to an "x" icon, and the user can click on a window to force the X server to close the connection with the client owning the window. This often causes the process to terminate when it detects that its connection to the X server has been closed.
Microware OS-9
The
kill
command is also available as a
shell builtin in the
OS-9 shell. It is used to kill another process by process ID.
Example
Stop the process with the process ID "7":
$ kill 7
Microsoft Windows and ReactOS

In Microsoft's command-line interpreter
Windows PowerShell
PowerShell is a task automation and configuration management program from Microsoft, consisting of a command-line shell and the associated scripting language. Initially a Windows component only, known as Windows PowerShell, it was made open-s ...
,
kill
is a predefined
command alias for the
Stop-Process
cmdlet.
Microsoft Windows XP,
Vista and
7 include the command
taskkill
to terminate processes. The usual syntax for this command is
taskkill /im "IMAGENAME"
. An "unsupported" version of
kill
was included in several releases of the
Microsoft Windows Resource Kit Resource Kit is a term used by Microsoft for a set of software resources and documentation released for their software products, but which is not part of that product. Resource kits offer supplementary resources such as technical guidance, compatib ...
s available for Windows 98.
GNU versions of
kill
have been ported via
Cygwin and run inside of the Unix environment subsystem that
Microsoft Windows Services for UNIX provides (Microsoft acquired Windows Services for Unix wholesale via their purchase of Softway Systems and their
Interix product on September 17, 1999).

The
ReactOS
ReactOS is a free and open-source operating system for amd64/ i686 personal computers intended to be binary-compatible with computer programs and device drivers made for Windows Server 2003 and later versions of Windows. ReactOS has been noted ...
implementation is based on the Windows variant. It was developed by Andrew Riedi, Andrew Nguyen, and He Yang. It is licensed under the
LGPLv2.1 or later.
[reactos/taskkill.c at master · reactos/reactos · GitHub](_blank)
/ref>
Examples
Find all processes beginning with the letter "p" that were developed by Microsoft and use more than 10 MB of memory and kill them:
PS C:\> ps p* , where , kill -confirm
Confirm
Are you sure you want to perform this action?
Performing operation "Stop-Process" on Target "powershell (6832)".
Yes Yes to All No No to All Suspend Help (default is "Y"): A
PS C:\>
Here is a simpler example, which asks the process Explorer.exe to terminate:
PS C:\> taskkill /im explorer.exe
This example forces the process to terminate:
PS C:\> taskkill /f /im explorer.exe
Processes can also be killed by their PID number:
PS C:\> taskkill /pid 3476
Microsoft Singularity
Singularity shell, the standard shell for Microsoft Research's microkernel operating system Singularity includes a kill
command to terminate background processes.
Examples
Stop the process with the name "SampleProcess":
Singularity>kill SampleProcess
Stop the process with the process identifier "42":
Singularity>kill 42
Plan 9 from Bell Labs
Under Plan 9 from Bell Labs, the kill program does not actually perform this termination, nor does it take process IDs. Rather, it takes the actual names of processes and outputs the commands for rc, the shell used by Plan 9, to kill the process.
A similar command provided is called slay
, which does the same but for processes that refuse to be killed this way.
Examples
For example, to kill all instances of troff, one types:
kill troff , rc
Others
The command has also been ported to the IBM i operating system.
See also
* Signal
* xkill
Xkill is a utility program distributed with the X Window System that instructs the X server to forcefully terminate its connection to a client, thus "killing" the client. When run with no command line arguments, the program displays a special cu ...
* killall
* pkill
* signal.h
In the C Standard Library, signal processing defines how a program handles various signals while it executes. A signal can report some exceptional behavior within the program (''such as division by zero''), or a signal can report some asynchrono ...
References
Further reading
*
External links
* Command:
* System call:
*
*
*
{{DEFAULTSORT:Kill (Command)
Unix SUS2008 utilities
Unix process- and task-management-related software
Plan 9 commands
Inferno (operating system) commands
IBM i Qshell commands
Process (computing)
Windows administration