Logo
  • Ubuntu
  • CentOS
  • Debian
  • Fedora
  • RedHat

How to Kill Linux Process Using Kill, Pkill and Killall - DesignLinux

designlinux 0 Comments

Linux Operating System comes with a kill command to terminate a process. The command makes it possible to continue running the server without the need to reboot after a major change/update. Here comes the great power of Linux and this is one of the reasons, why Linux is running on 96.4% of servers, on the planet.

Kill command sends a signal, a specified signal to a currently running process. The kill command can be executed in a number of ways, directly or from a shell script.

[ You might also like: Find Top 15 Processes by Memory Usage with ‘top’ in Batch Mode ]

Using kill command from /usr/bin provide you some extra feature to kill a process by process name using pkill.

Kill Command Usage

The common syntax for kill command is:

# kill [signal or option] PID(s)

For a kill command a Signal Name could be:

Signal Name		Signal Value			Behaviour

SIGHUP			      1				Hangup
SIGKILL			      9				Kill Signal
SIGTERM			      15			Terminate

Clearly from the behavior above, SIGTERM is the default and safest way to kill a process. SIGHUP is a less secure way of killing a process than SIGTERM. SIGKILL is the most unsafe way among the above three, to kill a process that terminates a process without saving.

In order to kill a process, we need to know the Process ID of a process. A Process is an instance of a program. Every time a program starts, automatically a unique PID is generated for that process.

Every Process in Linux has a pid. The first process that starts when Linux System is booted is the – init process, hence it is assigned a value of ‘1‘ in most cases.

[ You might also like: All You Need To Know About Processes in Linux [Comprehensive Guide] ]

Init is the master process and can not be killed this way, which ensures that the master process doesn’t get killed accidentally. Init decides and allows itself to be killed, where kill is merely a request for a shutdown.

List All Running Linux Processes

To know all the processes and correspondingly their assigned pid, run the following ps command.

# ps -A
Sample Output
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
    5 ?        00:00:00 migration/0
    6 ?        00:00:00 watchdog/0
    7 ?        00:00:01 events/0
    8 ?        00:00:00 cgroup
    9 ?        00:00:00 khelper
   10 ?        00:00:00 netns
   11 ?        00:00:00 async/mgr
   12 ?        00:00:00 pm
   13 ?        00:00:00 sync_supers
   14 ?        00:00:00 bdi-default
   15 ?        00:00:00 kintegrityd/0
   16 ?        00:00:00 kblockd/0
   17 ?        00:00:00 kacpid
   18 ?        00:00:00 kacpi_notify
   19 ?        00:00:00 kacpi_hotplug
   20 ?        00:00:00 ata/0
   21 ?        00:00:00 ata_aux
   22 ?        00:00:00 ksuspend_usbd

How about Customising the above output using syntax as ‘pidof process‘.

# pidof mysqld
Sample Output
1684

Another way to achieve the above goal is to follow the below syntax.

# ps aux | grep mysqld
Sample Output
root      1582  0.0  0.0   5116  1408 ?        S    09:49   0:00 
/bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql 
--socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid 
--basedir=/usr --user=mysql

mysql     1684  0.1  0.5 136884 21844 ?        Sl   09:49   1:09 
/usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql 
--log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid 
--socket=/var/lib/mysql/mysql.sock

root     20844  0.0  0.0   4356   740 pts/0    S+   21:39   
0:00 grep mysqld

[ You might also like: How to Find Top 15 Processes by Memory Usage in Linux ]

How to Kill a Process in Linux

Before we step ahead and execute a kill command, some important points to be noted:

  • A user can kill all his processes.
  • A user can not kill another user’s process.
  • A user can not kill processes the System is using.
  • A root user can kill System-level-process and the process of any user.

Another way to perform the same function is to execute the ‘pgrep‘ command.

# pgrep mysql
Sample Output
3139

To kill the above process PID, use the kill command as shown.

kill -9 3139

The above command will kill the process having pid=3139, where PID is a Numerical Value of the process.

Another way to perform the same function can be rewritten as.

# kill -SIGTERM 3139

Similarly ‘kill -9 PID‘ is similar to ‘kill -SIGKILL PID‘ and vice-versa.

How to Kill a Process in Linux Using Process Name

You must be aware of the process name, before killing and entering a wrong process name may screw you.

# pkill mysqld

Kill more than one process at a time.

# kill PID1 PID2 PID3
or
# kill -9 PID1 PID2 PID3
or
# kill -SIGKILL PID1 PID2 PID3

What if a process has too many instances and a number of child processes, we have a command ‘killall‘ or pkill. These two are the only commands of this family, which takes process name as argument in-place of process number.

Syntax:
# killall [signal or option] Process Name
Or
# pkill Process Name

To kill all mysql instances along with child processes, use the command as follow.

# killall mysqld
OR
# pkill mysqld

You can always verify the status of the process if it is running or not, using any of the below commands.

# service mysql status
OR
# systemctl status mysql
# pgrep mysql
# ps -aux | grep mysql

That’s all for now, from my side. I will soon be here again with another Interesting and Informative topic. Till Then, stay tuned, connected to Tecmint, and healthy. Don’t forget to give your valuable feedback in the comment section.

Related

Tags: Linux Kill Command Examples

How to Install Google Chrome in RedHat-Based Linux Distros

Prev Post

How to Find Out Top Directories and Files (Disk Space) in Linux

Next Post
Archives
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • July 2022
  • June 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
Categories
  • AlmaLinux
  • Android
  • Ansible
  • Apache
  • Arch Linux
  • AWS
  • Backups
  • Bash Shell
  • Bodhi Linux
  • CentOS
  • CentOS Stream
  • Chef
  • Cloud Software
  • CMS
  • Commandline Tools
  • Control Panels
  • CouchDB
  • Data Recovery Tools
  • Databases
  • Debian
  • Deepin Linux
  • Desktops
  • Development Tools
  • Docker
  • Download Managers
  • Drupal
  • Editors
  • Elementary OS
  • Encryption Tools
  • Fedora
  • Firewalls
  • FreeBSD
  • FTP
  • GIMP
  • Git
  • Hadoop
  • HAProxy
  • Java
  • Jenkins
  • Joomla
  • Kali Linux
  • KDE
  • Kubernetes
  • KVM
  • Laravel
  • Let's Encrypt
  • LFCA
  • Linux Certifications
  • Linux Commands
  • Linux Desktop
  • Linux Distros
  • Linux IDE
  • Linux Mint
  • Linux Talks
  • Lubuntu
  • LXC
  • Mail Server
  • Manjaro
  • MariaDB
  • MongoDB
  • Monitoring Tools
  • MySQL
  • Network
  • Networking Commands
  • NFS
  • Nginx
  • Nodejs
  • NTP
  • Open Source
  • OpenSUSE
  • Oracle Linux
  • Package Managers
  • Pentoo
  • PHP
  • Podman
  • Postfix Mail Server
  • PostgreSQL
  • Python
  • Questions
  • RedHat
  • Redis Server
  • Rocky Linux
  • Security
  • Shell Scripting
  • SQLite
  • SSH
  • Storage
  • Suse
  • Terminals
  • Text Editors
  • Top Tools
  • Torrent Clients
  • Tutorial
  • Ubuntu
  • Udemy Courses
  • Uncategorized
  • VirtualBox
  • Virtualization
  • VMware
  • VPN
  • VSCode Editor
  • Web Browsers
  • Web Design
  • Web Hosting
  • Web Servers
  • Webmin
  • Windows
  • Windows Subsystem
  • WordPress
  • Zabbix
  • Zentyal
  • Zorin OS
Visits
  • 1
  • 1,424
  • 575,802

DesignLinux.com © All rights reserved

Go to mobile version