# 前言
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。
# unix的ps命令
- 用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其 id。
- jps也是一样,它的作用是显示当前系统的java进程情况,及其id号。我们可以通过它来查看我们到底启动了几个java进程,因为每一个java程序都会独占一个java虚拟机实例,和他们的进程号,并可通过opt来查看这些进程的详细启动参数。
# JPS使用方法
#### 使用方法:在当前命令行下打 jps,系统要配置需要JAVA_HOME环境.
命令:`jps`
```
26177 AmbariServer
29041 TimelineReaderServer
4082 ServiceMaster
32275 Jps
```
# 常用的参数
##### -q 只显示pid,不显示class名称,jar文件名和传递给main 方法的参数
命令:`jpq -q`
```
26177
29041
4082
32741
```
#### -m 输出传递给main 方法的参数,在嵌入式jvm上可能是null
命令:`jps -m`
```
6177 AmbariServer
29041 TimelineReaderServer
32741 RunJar /usr/hdp/3.1.0.0-78/hive/lib/hive-metastore-3.1.0.3.1.0.0-78.jar org.apache.hadoop.hive.metastore.HiveMetaStore
```
#### -l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名
命令:`jps -l`
```
26177 org.apache.ambari.server.controller.AmbariServer
29041 org.apache.hadoop.yarn.server.timelineservice.reader.TimelineReaderServer
4082 org.apache.hadoop.yarn.service.ServiceMaster
```
#### -v 输出传递给JVM的参数
命令:`jps -v`
```
6177 AmbariServer -XX:NewRatio=3 -XX:+UseConcMarkSweepGC -XX:-UseGCOverheadLimit -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSClassUnloadingEnabled -Dsun.zip.disableMemoryMapping=true -Xms512m -Xmx2048m -XX:MaxPermSize=128m -Djava.security.auth.login.config=/etc/ambari-server/conf/krb5JAASLogin.conf -Djava.security.krb5.conf=/etc/krb5.conf -Djavax.security.auth.useSubjectCredsOnly=false -Dcom.sun.jndi.ldap.connect.pool.protocol=plain ssl -Dcom.sun.jndi.ldap.connect.pool.maxsize=20 -Dcom.sun.jndi.ldap.connect.pool.timeout=300000
29041 TimelineReaderServer -Dproc_timelinereader -Dhdp.version=3.1.0.0-78 -Djava.net.preferIPv4Stack=true -Dhdp.version=3.1.0.0-78 -Dyarn.id.str= -Dyarn.policy.file=hadoop-policy.xml -Djava.io.tmpdir=/var/lib/ambari-agent/tmp/hadoop_java_io_tmpdir -Dyarn.log.dir=/var/log/hadoop-yarn/yarn -Dyarn.log.file=hadoop-yarn-timelinereader-vm10-101-179-203.ksc.com.log -Dyarn.home.dir=/usr/hdp/3.1.0.0-78/hadoop-yarn -Dyarn.root.logger=INFO,console -Djava.library.path=:/usr/hdp/3.1.0.0-78/hadoop/lib/native/Linux-amd64-64:/usr/hdp/3.1.0.0-78/hadoop/lib/native/Linux-amd64-64:/var/lib/ambari-agent/tmp/hadoop_java_io_tmpdir:/usr/hdp/3.1.0.0-78/hadoop/lib/native -Xmx1024m -Dhadoop.log.dir=/var/log/hadoop-yarn/yarn -Dhadoop.log.file=hadoop-yarn-timelinereader-vm10-101-179-203.ksc.com.log -Dhadoop.home.dir=/usr/hdp/3.1.0.0-78/hadoop -Dhadoop.id.str=yarn -Dhadoop.root.logger=INFO,RFA -Dhadoop.policy.file=hadoop-policy.xml -Dhadoop.security.logger=INFO,NullAppender
```
#### [附详JPS细文档](https://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html)