JpS命令解析

查看hdfs主从架构:

[hadoop@hadoop001 hadoop-2.6.0-cdh5.7.0]$ jps
12884 Jps
11595 NameNode
11828 SecondaryNameNode
12665 DataNode

查看jps来自哪里 (来自java)

[hadoop@hadoop001 hadoop-2.6.0-cdh5.7.0]$ which jps
/usr/java/jdk1.7.0_80/bin/jps

其他用户查看

[root@hadoop001 ~]# jps
11595 -- process information unavailable
11828 -- process information unavailable
12416 Jps
11694 -- process information unavailable

可见进程是存在并可用的,将其中一个进程kill掉时jps,任然显示杀掉的进程,则这时进程处于假死状态:

[root@hadoop001 ~]# kill -9 11694
[root@hadoop001 ~]# jps
12446 Jps
11595 -- process information unavailable
11828 -- process information unavailable
11694 -- process information unavailable
[root@hadoop001 ~]# ps -ef | grep 11694
root      12472   4062  0 22:32 pts/4    00:00:00 grep 11694

今后在看到:process information unavailable

正确做法:
第一步:找到进程号;
第二步:ps -ef | grep pid查看是否存在?

  • 假如存在,root是看不到进程信息,通过ps -ef可查看是哪个用户运行这个进程的,su - 用户进去查看;
  • 假如不存在,那么怎样清空残留信息呢?
    手工删除:rm -f /tmp/hsperfdata_${查看的用户}/pid

残留信息

[root@hadoop001 tmp]# ll hsperfdata_hadoop
total 96
-rw-------. 1 hadoop hadoop 32768 Oct 20 22:41 11595
-rw-------. 1 hadoop hadoop 32768 Oct 20 22:40 11828
-rw-------. 1 hadoop hadoop 32768 Oct 20 22:41 12665

我们在删掉这个文件时进程还好着,ps -ef | grep pid可以看到进程的运行,这是由于很多shell脚本是使用jps命令写的。删除hsperfdata_$ {user}这个文件夹并不会影响进程挂掉,只是jps命令所依赖的一些调度一些监控必然会没有了。
假如执行rm -f /tmp/hsperfdata_${user}/pid文件后,进程没有挂掉,但是jps命令不显示了,那么所依赖的脚本都会有问题

------往后不定期更新------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值