How to use Kill, Pkill and Killall to Terminate a Process in Linux
To use Kill, Pkill and Killall Commands to Terminate a Process in Linux
Linux Operating System provides Kill command to terminate a process, which makes it possible to continue running the server without the necessity of reboot after making a major change or update. The kill command can be executed directly or from a shell script in a number of ways. Using kill command from /usr/bin will supply you additional feature to kill a process by process name. Kill, Pkill and Killall Commands to Terminate a Process in Linux are explained in this tutorial.
List of Signal Name for a kill command
Signal name | Signal value | Behavior |
SIGHUP | 1 | Hangup |
SIGKILL | 9 | Kill Signal |
SIGTERM | 15 | Terminate |
SIGTERM is the safest and default way to kill a process. SIGHUP is not a secure way of killing a process as SIGTERM. SIGKILL is the most dangerous way to kill a process that terminates a process without saving.
To kill a process, it is necessary to know the Process ID of a process. Whenever a program begins, automatically an unique PID is created for that process. Run the following command to know all the processes and their assigned pid.
[root@linuxhelp ~]# ps -A
PID TTY TIME CMD
1 ? 00:00:01 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
.
.
.
3913 ? 00:00:00 gnome-pty-helpe
3914 pts/0 00:00:00 bash
4632 ? 00:00:00 sleep
4636 pts/0 00:00:00 ps
To customize the above output
[root@linuxhelp ~]# pidof sleep
3723
or use the following command.
[root@linuxhelp ~]# ps aux | grep sleep
root 3736 0.0 0.0 107892 624 ? S 20:59 0:00 sleep 60
root 3744 0.0 0.0 112644 956 pts/0 R+ 21:00 0:00 grep --color=auto sleep
To execute a kill command, some important points to be noticed are:
- A user can kill all the processes.
- A root user can kill system-level-process and the process of any user.
- A user cannot kill processes which the System is using.
- A user cannot kill another user’ s process.
Execute ‘ pgrep‘ command to perform the same function is to .
[root@linuxhelp ~]# pgrep cups
3216
Use the kill command, to kill the above process ID
[root@linuxhelp ~]# kill -9 3216
The above command will kill the process with pid=3216, where PID is a Numerical Value of process. Or use the following command to do the same.
[root@linuxhelp1 Desktop]# pidof cupsd 3875 [root@linuxhelp1 Desktop]# kill -SIGTERM 3875
Killing a process using process name
[root@linuxhelp ~]# pkill nautilus
Be aware of process name before killing.
To Kill more than one process at a time
# kill PID1 PID2 PID3 or # kill -9 PID1 PID2 PID3 or # kill -SIGKILL PID1 PID2 PID3
To kill a process that has too many instances and a number of child processes, then use ‘ killall‘ .
Use the below command, to kill all ssh-agent instances with child processes.
[root@linuxhelp ~]# killall ssh-agent
To check the status of the process use the below command:
[root@linuxhelp Desktop]# systemctl status ssh-agent ssh-agent.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead)
[root@linuxhelp Desktop]# pgrep ssh-agent
Comments ( 0 )
No comments available