HOME

TheInfoList



OR:

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
/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