15

While configuring/installing Hadoop cluster we often need to kill a Java Process/Daemon. We see Java Processes/Daemons running with jps command. Usually we kill a Java process with its PID. E.g.

kill -9 112224

It is little bit difficult to type the PID. Is there a way to kill the process by its name? In a single command?

1
  • pkill -f name assuming you have pkill installed. Commented Jul 17, 2014 at 1:06

4 Answers 4

34

Here is the command to kill the Java process by is Process Name instead of its ProcessID.

kill -9 `jps | grep "DataNode" | cut -d " " -f 1`

Let me explain more, about the benefit of this command. Lets say you are working with Hadoop cluster. Its often required that you check java daemons running with jps command. Lets say when you give this command on worker nodes, you see following output.

1915 NodeManager
18119 DataNode
17680 Jps

Usually, if we want to kill DataNode process, we would use following command

kill -9 18119

But, it is little bit difficult to type the PID, to use kill command. By using the command, given in this answer, it is easy to write the name of the process. We can also prepare shell scripts to kill commonly used deamons in hadoop cluster, or we can prepare one shell script and can use parameter as process name.

Sign up to request clarification or add additional context in comments.

4 Comments

If you already know the answer then what's the point in posting it as question? shouldn't you delete the post?
Hi Rahul, My purpose was to share this solution, which can be used to kill Java Process which can't be killed wih pkill or killall commands.
Hi, Thanks for sharing this command, I used it to kill the jps "Server" processes. ie: kill jps|grep "Server" | cut -d " " -f 1, there are multiple server processes running and this command does kills all the processes but it takes a while.
kill jps | ag "GenericTopology" | cut -d " " -f 1, just install ag @ github.com/ggreer/the_silver_searcher
0

How about using

killall firefox

1 Comment

I forgot to mention that what meant was Java Processes running in Linux, which can be viewed with JPS command. These Processes can't be killed with killall command.
0

jps -l has helped me killing the process

kill `jps -l | grep "myjarname.jar" | cut -d " " -f 1`

Comments

-1

To get the process id of that java process run

netstat -tuplen

Process ID (PID) of that process whom you want to kill and run

kill -9 PID

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.