Win a copy of Secure Financial Transactions with Ansible, Terraform, and OpenSCAP this week in the Cloud/Virtualization forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Rob Spoor
  • Henry Wong
  • Liutauras Vilda
Saloon Keepers:
  • Tim Moores
  • Carey Brown
  • Stephan van Hulst
  • Tim Holloway
  • Piet Souris
Bartenders:
  • Frits Walraven
  • Himai Minh
  • Jj Roberts

How to kill process in Unix/Linux?

 
Ranch Hand
Posts: 71
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
There are different options to terminate a process in Unix/Linux flavour of operating systems. This article intends to list down those options.

kill
You can use the ‘kill’ command to terminate a process by passing the ‘process id’.


PID – is the ‘process Id’ of the process that you want to terminate. If you are not sure how to find ‘process Id’, refer to this article

Example:

Suppose if you want to kill a process whose ‘process Id’ is 1692 then command would be:


Sometimes when you issue the ‘kill’ command you may get an ‘operation not permitted’ error message. In those circumstances, issue kill command with ‘-9’ signal. i.e.



If you continue to get an ‘operation not permitted’ error message even with ‘kill -9’ signal then you may not have sufficient permission to terminate the process. Then you need to ‘sudo’ as a ‘root’ user (i.e. login as a super user) and then issue the ‘kill -9’ command.

NOTE: This is the same as the ‘run as administrator’ option in Windows.


Fig: Terminating the process with ‘kill -9’ signal

killall
‘killall’ command is another option to terminate multiple processes in one stroke. You can use this option to kill processes based on their names, users who launched them. Let’s explore all ‘killall’ options in this section.

a. killall process_name:  Kill processes that match the specified process name.


Suppose if you want to kill the Process whose ‘process name’ is ‘java’,  then command would be:



Fig: killall processname

NOTE: Say if 3 processes are running with the name ‘java’, then when you use ‘killall’, all the 3 processes will be terminated.

b. killall -I process_name: Ignore case when trying to find the process name.



Suppose if you want to kill the Process whose ‘process name’ is ‘java’,  but if you are not sure about the case sensitivity of the process, then you can use ‘-l’ option:



c. killall -i process_name:  Ask for additional confirmation when killing the process.



Suppose if you want to kill the Process whose ‘process name’ is ‘java’, it needs to ask for confirmation, then command would be:



Fig: Killall Confirmation

d. killall -u username: It kills processes owned by a specific user.



Suppose if you want to kill all the Process owned by the username ‘ec2-dev’, then command would be:



e. killall -v process_name: Report back on whether the process has been successfully killed.



Suppose if you want to kill the Process whose ‘process name’ is ‘java’ and you wanted to know whether the process is successfully killed, then command would be:



Fig: Process Killed Reported

pkill
You can use ‘pkill’ command to terminate process(es) by sending a fullname or partial name of the process. By default pkill will send the signal SIGTERM.



Suppose if you want to kill the Process whose ‘process name’ is ‘java’, then command would be:



Difference between ‘killall’ and ‘pkill’

‘killall’ will look for the exact match of the process name whereas the ‘pkill’ will allow to terminate the process either by full name or partial process name.

EXAMPLE: There is a process with the name ‘java’. If you try to terminate the process using ‘killall’ command by giving partial name i.e. ‘ava’ then you will get ‘no process found’ error:



Fig. killall using partial process name

On the other hand iIf you try to terminate the process using ‘pkill’ command by giving partial name i.e., ‘ava’, it will succeed:



Fig. pkill using partial process name

top
You can also terminate a process using the popular system monitoring tool – ‘top’. Below are the steps to terminate a process in ‘top’:

1. Press ‘k’ key when top command is running

2. It will ask you to enter the Process Id which you want to terminate

3. Type the Process Id

4. Then it will ask you the signal you want to use for killing the Process

5. Type ‘9’ which is a SIGKILL. By default the signal will be SIGTERM (‘15’). If you would like to know the difference between SIGKILL and SIGTERM, refer to the below section (‘Difference between SIGTERM, SIGKILL’) in this article.

6. press enter



Fig: killed using SIGKILL signal








 
Marshal
Posts: 72479
315
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

jim terry wrote:. . . refer to this article . . .

But that article doesn't say anything.
 
pie. tiny ad:
SKIP - a book about connecting industrious people with elderly land owners
https://coderanch.com/t/skip-book
reply
    Bookmark Topic Watch Topic
  • New Topic