Kill (command)
In computing, ImplementationsUnix and Unix-likeIn Unix and Unix-like operating systems, 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 ("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, providing reliable ways of controlling the execution of processes. SIGKILL kills the process, and SIGSTOP pauses it until a SIGCONT ("continue") is received.[3] 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. The specific mapping between numbers and signals can vary between Unix implementations. SIGTERM is often numbered 15 while SIGKILL is often numbered 9. ExamplesA process can be sent a SIGTERM 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 files upon receiving SIGHUP, so the kill command may be used for this too. A SIGINT signal can be generated very simply by pressing CTRL+C in most Unix shells. It is also common for CTRL+Z to be mapped to SIGTSTP ("terminal stop"), and for CTRL+\ (backslash) to be mapped to SIGQUIT, which can force a program to do a core dump. Related programs
Microware OS-9The Stop the process with the process ID "7": $ kill 7
Microsoft Windows and ReactOS![]() taskkill command on Microsoft WindowsIn Microsoft's command-line interpreter Windows PowerShell, Microsoft Windows XP, Vista and 7 include the command GNU versions of ![]() taskkill command on ReactOSThe ReactOS 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.[8] ExamplesFind 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 { $_.Company -like "Microsoft*" -and $_.WorkingSet -gt 10MB } | kill -confirm
Confirm
Are you sure you want to perform this action?
Performing operation "Stop-Process" on Target "powershell (6832)".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] 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 SingularitySingularity shell, the standard shell for Microsoft Research's microkernel operating system Singularity includes a ExamplesStop the process with the name "SampleProcess": Singularity>kill SampleProcess
Stop the process with the process identifier "42": Singularity>kill 42
Plan 9 from Bell LabsUnder 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.[9] A similar command provided is called ExamplesFor example, to kill all instances of troff, one types: kill troff | rc OthersThe kill command has also been ported to the IBM i operating system.[10] See alsoReferences
Further reading
External linksThe Wikibook Guide to Unix has a page on the topic of: Commands
|