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?
解决方案
Here is the command to kill the Java process by is Process Name instead of its ProcessID.
kill `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.