jps位于jdk的bin目录下,其作用是显示当前系统的java进程情况,及其id号。 jps相当于Solaris进程工具ps。不象”pgrep java”或”ps -ef grep java”,jps并不使用应用程序名来查找JVM实例。因此,它查找所有的Java应用程序,包括即使没有使用java执行体的那种(例如,定制的启动 器)。另外,jps仅查找当前用户的Java进程,而不是当前系统中的所有进程。
很多Java命令都在jdk的JAVA_HOME/bin/目录下面,jps也不例外,他就在bin目录下,所以,他是java自带的一个命令。
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。
jdk中的jps命令可以显示当前运行的java进程以及相关参数,它的实现机制如下:
java程序在启动以后,会在java.io.tmpdir指定的目录下,就是临时文件夹里,生成一个类似于hsperfdata_User的文件夹,这个文件夹里(在Linux中为/tmp/hsperfdata_{userName}/),有几个文件,名字就是java进程的pid,因此列出当前运行的java进程,只是把这个目录里的文件名列一下而已。 至于系统的参数什么,就可以解析这几个文件获得。
先看临时目录:
[root@hadoop002 hsperfdata_hadoop]# pwd
/tmp/hsperfdata_hadoop
[root@hadoop002 hsperfdata_hadoop]# ll
total 160
-rw-------. 1 hadoop hadoop 32768 Jun 3 19:00 51863
-rw-------. 1 hadoop hadoop 32768 Jun 3 19:00 51945
-rw-------. 1 hadoop hadoop 32768 Jun 3 19:00 52035
-rw-------. 1 hadoop hadoop 32768 Jun 3 19:00 52294
-rw-------. 1 hadoop hadoop 32768 Jun 3 19:00 52413
在使用jps命令查看
[hadoop@hadoop002 hadoop-2.6.0-cdh5.7.0]$ jps
52035 SecondaryNameNode
53525 Jps
52294 ResourceManager
51863 NameNode
51945 DataNode
52413 NodeManager
对应的进程号都存在。
原因:
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_43842093/article/details/121591153
内容来源于网络,如有侵权,请联系作者删除!