90 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			90 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | #  The `kill` command
 | |||
|  | 
 | |||
|  | `kill` command in Linux (located in /bin/kill), is a built-in command which is used to terminate processes manually. The `kill` command sends a signal to a process which terminates the process. If the user doesn’t specify any signal which is to be sent along with kill command then default _TERM_ signal is sent that terminates the process. | |||
|  | 
 | |||
|  | Signals can be specified in three ways: | |||
|  | -   **By number (e.g. -5)** | |||
|  | -   **With SIG prefix (e.g. -SIGkill)** | |||
|  | -   **Without SIG prefix (e.g. -kill)** | |||
|  |    | |||
|  | ### Syntax
 | |||
|  | 
 | |||
|  | ``` | |||
|  | kill [OPTIONS] [PID]... | |||
|  | ``` | |||
|  | 
 | |||
|  | ###  Examples:
 | |||
|  | 1. To display all the available signals you can use below command option: | |||
|  | 
 | |||
|  | ``` | |||
|  | kill -l | |||
|  | ``` | |||
|  | 
 | |||
|  | 2. To show how to use a _PID_ with the _kill_ command. | |||
|  | 
 | |||
|  | ``` | |||
|  | $kill pid | |||
|  | ``` | |||
|  | 
 | |||
|  | 3. To show how to send signal to processes. | |||
|  | ``` | |||
|  | kill {-signal | -s signal} pid | |||
|  | ``` | |||
|  | 
 | |||
|  | 4. Specify Signal: | |||
|  | 	 | |||
|  | - using numbers as signals  | |||
|  | ``` | |||
|  | kill -9 pid | |||
|  | ``` | |||
|  | - using SIG prefix in signals | |||
|  | ``` | |||
|  | kill -SIGHUP pid | |||
|  | ``` | |||
|  | - without SIG prefix in signals | |||
|  | ``` | |||
|  | kill -HUP pid | |||
|  | ``` | |||
|  | 
 | |||
|  | 
 | |||
|  | ###  Arguments:
 | |||
|  | The list of processes to be signaled can be a mixture of names and PIDs. | |||
|  | 
 | |||
|  |        pid    Each pid can be expressed in one of the following ways: | |||
|  | 
 | |||
|  |               n      where n is larger than 0.  The process with PID n is signaled. | |||
|  | 
 | |||
|  |               0      All processes in the current process group are signaled. | |||
|  | 
 | |||
|  |               -1     All processes with a PID larger than 1 are signaled. | |||
|  | 
 | |||
|  |               -n     where n is larger than 1.  All processes in process group  n  are  signaled. | |||
|  |                      When  an  argument  of  the  form '-n' is given, and it is meant to denote a | |||
|  |                      process group, either a signal must be specified first, or the argument must | |||
|  |                      be  preceded  by  a '--' option, otherwise it will be taken as the signal to | |||
|  |                      send. | |||
|  | 
 | |||
|  |        name   All processes invoked using this name will be signaled. | |||
|  | ###  Options:
 | |||
|  | 	   -s, --signal signal | |||
|  |               The signal to send.  It may be given as a name or a number. | |||
|  | 
 | |||
|  |        -l, --list [number] | |||
|  |               Print a list of signal names, or convert the given signal number to  a  name.   The | |||
|  |               signals can be found in /usr/include/linux/signal.h. | |||
|  | 
 | |||
|  |        -L, --table | |||
|  |               Similar to -l, but it will print signal names and their corresponding numbers. | |||
|  | 
 | |||
|  |        -a, --all | |||
|  |               Do  not  restrict the command-name-to-PID conversion to processes with the same UID | |||
|  |               as the present process. | |||
|  | 
 | |||
|  |        -p, --pid | |||
|  |               Only print the process ID (PID) of the named processes, do not send any signals. | |||
|  | 
 | |||
|  |        --verbose | |||
|  |               Print PID(s) that will be signaled with kill along with the signal. | |||
|  | 
 | |||
|  | 
 |