Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Implementations  



1.1  Unix and Unix-like  



1.1.1  Examples  





1.1.2  Related programs  







1.2  Microware OS-9  





1.3  Microsoft Windows and ReactOS  



1.3.1  Examples  







1.4  Microsoft Singularity  



1.4.1  Examples  







1.5  Plan 9 from Bell Labs  



1.5.1  Examples  







1.6  Others  







2 See also  





3 References  





4 Further reading  





5 External links  














kill (command)






العربية
Беларуская
Català
Čeština
Deutsch
Español
فارسی
Français

ि
Italiano
עברית
Magyar

Polski
Português
Română
Русский
Türkçe
Українська
Tiếng Vit

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 

(Redirected from Kill (system call))

kill
Original author(s)AT&T Bell Laboratories
Developer(s)Various open-source and commercial developers
Initial releaseFebruary 1973; 51 years ago (1973-02)
Operating systemUnix, Unix-like, Plan 9, Inferno, OS-9, Windows, ReactOS, Singularity, IBM i
PlatformCross-platform
TypeCommand
LicenseReactOS: LGPL-2.1-or-later

Incomputing, kill is a command that is used in several popular operating systems to send signals to running processes.

Implementations[edit]

Unix and Unix-like[edit]

InUnix and Unix-like operating systems, kill is a command used to send a signal to a process. By default, the message sent is the termination signal, 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, 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 standard. However, most shells have built-in kill commands that may slightly differ from it.[1][2]

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. 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[edit]

A 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[edit]

Microware OS-9[edit]

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.[4]

Stop the process with the process ID "7":

$ kill 7

Microsoft Windows and ReactOS[edit]

The taskkill command on Microsoft Windows

In Microsoft's command-line interpreter Windows PowerShell, kill is a predefined command alias for the Stop-Process cmdlet.

Microsoft Windows XP, Vista and 7 include the command taskkill[5] 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 Kits available for Windows 98.[6]

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).[7]

The taskkill command on ReactOS

The 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]

Examples[edit]

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:\> psp* | 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 Singularity[edit]

Singularity shell, the standard shell for Microsoft Research's microkernel operating system Singularity includes a kill command to terminate background processes.

Examples[edit]

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[edit]

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.[9]

A similar command provided is called slay, which does the same but for processes that refuse to be killed this way.[9]

Examples[edit]

For example, to kill all instances of troff, one types:

kill troff | rc

Others[edit]

The kill command has also been ported to the IBM i operating system.[10]

See also[edit]

References[edit]

  1. ^ "Bash Reference Manual: Job Control Builtins". The GNU Project. Retrieved 2015-02-24.
  • ^ "zsh: 17. Shell Builtin Commands". Retrieved 2015-02-24.
  • ^ "<signal.h>". The Open Group Base Specifications Issue 7. Retrieved 2015-02-24.
  • ^ Paul S. Dayan (1992). The OS-9 Guru - 1 : The Facts. Galactic Industrial Limited. ISBN 0-9519228-0-7.
  • ^ "Taskkill". Microsoft TechNet. Retrieved 2015-02-24.
  • ^ "Resource Kit Utilities - Windows '98 Resource Kit". ActiveXperts Software. Archived from the original on 2019-05-25. Retrieved 2015-02-24.
  • ^ "GNU utilities for Win32". Archived from the original on 2006-02-09. Retrieved 2015-02-24.
  • ^ reactos/taskkill.c at master · reactos/reactos · GitHub
  • ^ a b "UNIX to Plan 9 command translation". Plan 9 wiki. Archived from the original on 2008-09-05. Retrieved 2015-02-24.
  • ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). IBM. Retrieved 2020-09-05.
  • Further reading[edit]

    External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=Kill_(command)&oldid=1224844903"

    Categories: 
    Windows commands
    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
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
     



    This page was last edited on 20 May 2024, at 20:25 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki