java jps都卡死,java长时间运行后,jps失效

在部署完应用后,原本jps使用的好好的,能正确的查询到自己正在运行的java程序。

但,过了一段时间后,再使用jps来查看运行的应用时,自己运行的程序都看不到,但是自己也没有关闭这些程序啊!然而使用 ps aux | grep java 却能看到对应的进程,纳闷了很久。

然后google了一把,找到了根源所在。

http://www.etcn.cn/Tech/Program/Java/2012/1020/28062.html

写道

/tmp/hsperfdata_hadoop

/etc/cron.daily/tmpwatch

系统执行了一个定时任务,清理/tmp/hsperfdata_$user下的文件,而jps就是通过这些文件来感知java的应用的。(注意: 在tmp下的hadooop的pid文件也被清理了,所以,最好把pid的目录也在配置文件里面定义一下!)

所以,当使用 jps 找不到你运行很久的程序时,不要以为他们挂了!!可使用命令确认:

ps aux | grep java | grep -v grep

tmpwatch命令的使用

http://zhouyaoemb.blog.163.com/blog/static/178343101201152922847620/

写道

语 法:tmpwatch [-afqv][--test][超期时间][目录...]

补充说明:执行tmpwatch指令可删除不必要的暂存文件,您可以设置文件超期时间,单位以小时计算。

参数:

-a或--all  删除任何类型的文件。

-f或--force  强制删除文件或目录,其效果类似rm指令的"-f"参数。

-q或--quiet  不显示指令执行过程。

-v或--verbose  详细显示指令执行过程。

-test  仅作测试,并不真的删除文件或目录

实例: sudo /usr/sbin/tmpwatch -afv 3 /tmp (清除/tmp下三小时以内没有使用的文件,并将结果输出)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux系统中,Java命令是用于执行Java程序的命令,而jpsJava Virtual Machine Process Status Tool的缩写,用于显示当前运行Java进程。这两个命令的功能不同,因此不能通用。 Java命令是Java Development Kit(JDK)中的一部分,它允许我们在Linux系统上编译和运行Java代码。通过Java命令,我们可以指定要运行Java类的主函数,以及其他相关参数,如类路径、堆大小等。Java命令可以启动一个Java虚拟机(JVM)实例,并执行指定的Java代码。 而jps是一种用于管理和监视正在运行Java应用程序和虚拟机的命令行工具。它可以显示出当前系统中运行的所有Java进程的ID以及对应的类名。通过jps命令,我们可以方便地查看Java程序的运行状态,比如正在运行Java进程的内存占用情况、线程信息等。这对于诊断和监控Java应用程序的运行非常有用。 尽管Java命令和jps都与Java相关,但它们的主要用途和功能不同。Java命令主要用于在Linux上编译和运行Java程序,而jps主要用于查看Java进程的运行状态。因此,Linux系统下可以正确执行Java命令,但不能直接使用jps命令,这是由于jps命令不是Linux系统默认支持的命令。要使用jps命令,我们需要先安装Java Development Kit,并将其添加到系统的环境变量中。 总结来说,Linux系统中Java命令用于编译和运行Java程序,而jps命令用于查看Java进程的运行状态。两者功能不同,因此无法通用。要使用jps命令,需要先安装Java Development Kit,并将其添加到系统的环境变量中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值