jps无法获取到tomcat(java)进程

一、问题描述:

Ubuntu 10.10版本,同个JDK 1.6版本,启动tomcat后,使用jps无法获取本机Java进程。

二、jps工作原理:

1. java进程启动时,若没有指定 -Djava.io.tmpdir参数,则会默认新建 /tmp/hsperfdata_${user_name} 文件

2. jps查询java进程时会去扫描 /tmp/hsperfdata_${user_name} 文件

三、jps不能正常工作,可能存在的原因:

1.  启动tomcat的java与jps不同版本

2.  jps 因为权限问题无法读取 /tmp/hsperfdata_${user_name} 文件

3. java进程启动时指定 -Djava.io.tmpdir参数,即不采用默认值

四、问题定位:

1.  ps查询java启动的参数

[python] view plaincopy

  1. ps -ef | grep java | grep "Djava.io.tmpdir"

发现tomcat确实有指定Djava.io.tmpdir 参数

2. 修改tomcat默认的catalina.sh文件,修改如下

[python] view plaincopy

  1. if [ -z "$CATALINA_TMPDIR" ] ; then
  2. # Define the java.io.tmpdir to use for Catalina
  3. CATALINA_TMPDIR=/tmp
  4. fi

3.重新启动tomcat,重新执行jps,问题解决

时间: 2024-12-24 23:07:47

jps无法获取到tomcat(java)进程的相关文章

jps查看java进程中哪个线程在消耗系统资源

jps或ps -ef|grep java可以看到有哪些java进程,这个不用说了.但值得一提的是jps命令是依赖于/tmp下的某些文件 的. 而某些操作系统,定期会清理掉/tmp下的文件,导致jps无法查看到实际存在的java进程.不过jstat, jstack等命令也同样如此,所以当jps列不出进程的时候,这些命令也都不能用了.不在我们此次讨论范围之内. top -p $pid -H  加上-H这个参数后,会列出有哪些线程.这样就可以看到哪个线程id最消耗系统资源了.看到的线程id是10进制的

linux下tomcat shutdown后 java进程依旧存在 -- 阿里MetaQ篇

此篇文章描述的症状和上一篇文章一致(即执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访问了,但是ps -ef | grep java 后,发现tomcat对应的java进程未随web容器关闭而销毁,进而存在僵尸java进程),但是处理的过程不一致,所有又单开了一篇blog来写. 我在另外一个项目中使用到了阿里的MetaQ消息中间件,然后shutdown tomcat 发现java进程依旧存在,沿用上一篇文章的思路,我最开始以为是本地代码中scheduledExec

Jps介绍以及解决jps无法查看某个已经启动的java进程问题【盗用】

1.jps的作用 jps类似linux的ps命令,不同的是ps是用来显示进程,而jps只显示java进程,准确的说是当前用户已启动的部分java进程信息,信息包括进程号和简短的进程command. 2.某个java进程已经启动,用jps却显示不了该进程进程号 这个问题已经碰到过两次了,所以在这里总结下. 现象: 用ps -ef|grep java能看到启动的java进程,但是用jps查看却不存在该进程的id.待会儿解释过之后就能知道在该情况下,jconsole.jvisualvm可能无法监控该进

每天一个linxu命令6之jps ?查看java进程的端口

jps -- JavaVirtual Machine Process Status Tool 可以列出本机所有Java进程的pid jps [ options ] [ hostid ] 选项 -q 仅输出VM标识符,不包括class name,jar name,arguments in main method -m 输出main method的参数 -l 输出完全的包名,应用主类名,jar的完全路径名 -v 输出jvm参数 -V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件

linux下tomcat shutdown后 java进程依旧存在

今天遇到一个很奇怪的问题,如标题所示: linux下(之所以强调linux下,是因为在windows下正常),执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访问了,但是ps -ef | grep java 后,发现tomcat对应的java进程未随web容器关闭而销毁,进而存在僵尸java进程. 刚开始百思不得其解,google下,发现存在一种说法是:有非守护线程存在,jvm不会退出.进而确认是因为项目代码存在 scheduledExecutorService.s

jps不显示java进程信息

本来想自己整理,发现已经有前人整理,并且完美解决了我的问题,故转载,感谢分享 转自:http://trinea.iteye.com/blog/1196400 对于jps较熟悉可以直接查看第二部分的分析 1.jps的作用 jps类似linux的ps命令,不同的是ps是用来显示进程,而jps只显示java进程,准确的说是当前用户已启动的部分java进程信息,信息包括进程号和简短的进程command. 2.某个java进程已经启动,用jps却显示不了该进程进程号 这个问题已经碰到过两次了,所以在这里总

hadoop;RPC;调用接口;cmd的jps查看java进程;有main方法的类才能产生进程

实验平台: redhat 6    以安装 安装步骤: (1):在网上找到自己想要的交叉工具链安装包 (2):解压自己的安装包   ; tar -xzvf arm-linux-gcc-4.3.2.tar.gz   -C /     解压到或目录 或tar  -xjvf   arm-linux-gcc-3.4.5.tar.bz2   -C / 在解压的过程中我们可以看到,其可执行程序,被解压到/usr/local/arm/3.4.5/bin, (4):修改配置文件 vim  /etc/profil

查看java进程信息--jps命令详解

格式 [[email protected] ~]# jps -h illegal argument: -h usage: jps [-help] jps [-q] [-mlvV] [<hostid>] Definitions: <hostid>: <hostname>[:<port>] 主要参数解释: 选项 作用 -q 只输出LVMID,省略主类的名称 -m 输出启动时,传给main()函数的参数 -l 输出主类全类名 -v 输出jvm参数 常用 输出主类及

分析java进程假死状况

摘自: http://www.myexception.cn/internet/2044496.html 分析java进程假死情况 1 引言 1.1 编写目的 为了方便大家以后发现进程假死的时候能够正常的分析并且第一时间保留现场快照. 1.2编写背景 最近服务器发现tomcat的应用会偶尔出现无法访问的情况.经过一段时间的观察最近又发现有台tomcat的应用出现了无法访问情况.简单描述下该台tomcat当时具体的表现:客户端请求没有响应,查看服务器端tomcat的进程是存活的,查看业务日志的时候发