1、JPS介绍

用来查看基于HotSpot的JVM里面中,所有具有访问权限的Java进程的具体状态, 包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似,只不过jps是用来显示java进程,可以把jps理解为ps的一个子集。

使用jps时,如果没有指定hostid,它只会显示本地环境中所有的Java进程;如果指定了hostid,它就会显示指定hostid上面的java进程,不过这需要远程服务上开启了jstatd服务,可以参看前面的jstatd章节来启动jstad服务。

2、命令格式

jps [ options ] [ hostid ]

3、常用参数说明

-q 忽略输出的类名、Jar名以及传递给main方法的参数,只输出pid。

-m 输出传递给main方法的参数,如果是内嵌的JVM则输出为null。

-l 输出应用程序主类的完整包名,或者是应用程序JAR文件的完整路径。

-v 输出传给JVM的参数。

-V 输出通过标记的文件传递给JVM的参数(.hotspotrc文件,或者是通过参数-XX:Flags=指定的文件)。

-J 用于传递jvm选项到由javac调用的java加载器中,例如,“-J-Xms48m”将把启动内存设置为48M,使用-J选项可以非常方便的向基于Java的开发的底层虚拟机应用程序传递参数。

4、服务器标识

hostid指定了目标的服务器,它的语法如下:

[protocol:][[//]hostname][:port][/servername]

protocol - 如果protocol及hostname都没有指定,那表示的是与当前环境相关的本地协议,如果指定了hostname却没有指定protocol,那么protocol的默认就是rmi。

hostname - 服务器的IP或者名称,没有指定则表示本机。

port - 远程rmi的端口,如果没有指定则默认为1099。

Servername - 注册到RMI注册中心中的jstatd的名称。

5、使用示例

5.1、列出本地的Java进程

不带任何参数

fenglibin@libin:~$ jps

11644 Main

1947

12843 Jps

带-v参数

fenglibin@libin:~$ jps -v

11644 Main -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:43467 -Dfile.encoding=GBK

1947  -Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms40m -Xmx512m

12858 Jps -Denv.class.path=/home/fenglibin/java6/lib/dt.jar:/home/fenglibin/java6/lib/tools.jar::/usr/bin/libtool:/usr/bin/autoconf:/usr/local/BerkeleyDB.4.8/lib -Dapplication.home=/home/fenglibin/java6 -Xms8m

带-l参数

fenglibin@libin:~$ jps -l

11644 com.alibaba.china.webww.core.Main

12870 sun.tools.jps.Jps

1947

5.2、列出远程的Java进程

在jstatd章节,我们有通过:

rmiregistry 2020&jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName

启动了名为AlternateJstatdServerName的jstatd服务,那么我们此时就可以通过该服务列出其有权限访问的Java进程。

fenglibin@libin:~$ jps 10.1.1.234:2020/AlternateJstatdServerName

29556 Bootstrap

28671 WSPreLauncher

2602 RegistryImpl

18272 Test

2603 Jstatd

ps -ef 查看正在活动的进程

ps -ef |grep abc 查看含有"abc"的活动进程

ps -ef |grep -v abc 查看不含abc的活动进程

  1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。

  2)ps -A 显示所有程序。

  3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。

  4)ps -e 此参数的效果和指定"A"参数相同。

  5)ps e 列出程序时,显示每个程序所使用的环境变量。

  6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。

  7)ps -H 显示树状结构,表示程序间的相互关系。

  8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。

  9)ps s 采用程序信号的格式显示程序状况。

  10)ps S 列出程序时,包括已中断的子程序资料。

  11)ps -t<终端机编号>

  指定终端机编号,并列出属于该终端机的程序的状况。

  12)ps u

  以用户为主的格式来显示程序状况。

  13)ps x

  显示所有程序,不以终端机来区分。

  最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作

unix PS命令和JPS命令的区别的更多相关文章

  1. jps命令学习

    jps命令学习 标签(空格分隔): jvm jps介绍 ( JVM Process Status Tool ) 网文 jps命令用于查看当前Java进程及其pid等相关信息,同ps -ef | gre ...

  2. jps命令(Java Virtual Machine Process Status Tool)

    1.介绍 用来查看基于HotSpot的JVM里面中,所有具有访问权限的Java进程的具体状态, 包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似,只不过jps是用来显示java进程, ...

  3. jps命令使用

    jps工具 jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前全部java进程pid的命令,简单有用,很适合在linux/un ...

  4. jps 命令使用

    jps(Java Virtual Machine Process Status Tool)是JDK1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简 ...

  5. java jps命令使用解析

    在linux环境下显示一个进程的信息大家可能一直都在使用ps命令,比如用以下命令来显示当前系统执行的java进程: ps -ef | grep java 针对java的进程,jdk1.5以后提供了一个 ...

  6. linux jps命令

    原文链接: http://www.cnblogs.com/qlqwjy/p/7928410.html https://blog.csdn.net/u013250071/article/details/ ...

  7. jvm 性能调优工具之 jps 命令详解

    JPS名称:jps - Java Virtual Machine Process Status Tool命令用法:jps [options] [hostid] options:命令选项,用来对输出格式 ...

  8. 【转】jps 命令使用

    jps(Java Virtual Machine Process Status Tool)是JDK1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简 ...

  9. java命令- (学习)jps

    jps(Java Virtual Machine Process Status Tool) 是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前jav ...

随机推荐

  1. Jquery插件easyUi表单验证提交

    <form id="myForm" method="post"> <table align="center" style= ...

  2. java中静态属性和和静态方法的继承问题 以及多态的实质

    首先结论是:java中静态属性和和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏. 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成的,不需继承机制就可以调用如果子类里 ...

  3. java中不带package和带package的编译运行方式

    Java中不带package的程序和带package的程序编译的方式是不同的. 一.不带package的程序建立个HelloWorld.java的文件,放入C:\,内容如下:public class ...

  4. nginx 启动/停止/重启 BAT

    cls @ECHO OFF SET NGINX_PATH=D: SET NGINX_DIR=D:\Hack\nginx\color 0a TITLE Nginx 管理程序 Power By AntsG ...

  5. 理解模板引擎Razor 的原理(转载)

    Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.简洁的语法与.NET Framework 结合,广泛应用于ASP.NET MVC 项目.Razor Pad是一 ...

  6. (转)MFC的一些宏的整理 (DECLARE_DYNCREATE/IMPLEMENT_DYNCREATE)

    很早看了MFC的一些宏的实现,什么RUNTIME_CLASS, DECLARE_DYNAMIC, DECLARE_DYNCREATE,IMPLEMENT_DYNCREATE, etc,看了就烦,现在整 ...

  7. SQLite常见警告

    引言 在vs2012中使用sqlite时,总会出现一个警告,lz是完美型的人,看到一个警告,心里多少看着不舒服啊. 解决办法 警告内容: 所生成项目的处理器架构“MSIL”与引用“System.Dat ...

  8. MongoDB.WebIDE:升级版的Mongodb管理工具

    很早以前收藏了一片文章:<强大的MongoDB数据库管理工具>.最近刚好要做一些MongoDB方面的工作,于是翻出来温习了一下,用起来也确实挺方便.不过在使用过程中出现了一些个问题,加上更 ...

  9. HDU4887_Endless Punishment_BSGS+矩阵快速幂+哈希表

    2014多校第一题,当时几百个人交没人过,我也暴力交了几发,果然不行. 比完了去学习了BSGS才懂! 题目:http://acm.hdu.edu.cn/showproblem.php?pid=4887 ...

  10. 在Sublime Text3 开发Node.js遇到的一个小问题

    原文摘自我的前端博客,欢迎大家来访问 http://www.hacke2.cn 以前的Sublime Text 2包管理出现问题了,不能安装新包,让人开发很捉急,今天装了个3,这个问题解决了 那我们就 ...