Win a copy of High Performance Python for Data Analytics this week in the Python 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 all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Bear Bibeault
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • Tim Cooke
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Jj Roberts
  • Carey Brown
Bartenders:
  • salvin francis
  • Frits Walraven
  • Piet Souris

How to kill process in Unix/Linux?

 
Ranch Hand
Posts: 63
  • 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: 71752
312
  • 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.
 
Would you like to try a free sample? Today we are featuring tiny ads:
the value of filler advertising in 2020
https://coderanch.com/t/730886/filler-advertising
reply
    Bookmark Topic Watch Topic
  • New Topic