jps命令

hadoop@abp-oggdb-002:/home/hadoop/app/hadoop>which jps
/usr/java/jdk1.7.0_80/bin/jps

所以此命令是有java而来,显示的是java程序

不同用户呈现的不同结果:

hadoop@abp-oggdb-002:/home/hadoop/app/hadoop>jps
73245 NameNode
92424 Jps
73627 SecondaryNameNode
73400 DataNode

root@abp-oggdb-002:/root#/usr/java/jdk1.7.0_80/bin/jps
73245 – process information unavailable
92482 Jps
73627 – process information unavailable
73400 – process information unavailable

oracle@abp-oggdb-002:/oracle>/usr/java/jdk1.7.0_80/bin/jps
92581 Jps

可以得出

  1. jps只有在java程序所属用户下,才能够进行正确的显示出,进程号 和 进行名
  2. root用户是super用户,也能够调用出其他用户的jps,单数显示结果为 process information unavailable
  1. 以root用户 kill 进程看看结果

root@abp-oggdb-002:/root#/usr/java/jdk1.7.0_80/bin/jps
73245 – process information unavailable
92698 Jps
73627 – process information unavailable
73400 – process information unavailable
root@abp-oggdb-002:/root#
root@abp-oggdb-002:/root#kill -9 73245

hadoop@abp-oggdb-002:/home/hadoop>jps
92797 Jps
73627 SecondaryNameNode
73400 DataNode
hadoop@abp-oggdb-002:/home/hadoop>ps -ef|grep NameNode
hadoop 73627 1 0 11:19 ? 00:00:15 /usr/java/jdk1.7.0_80/bin/java -Dproc_secondarynamenode

发现: root是超级用户,进行kill 肯定消失

  1. 以所属用户。kill进程

进程必然会掉 jps 只是一个显示进程的命令,kill进行肯定掉

  1. 删除/tmp/hsperfdata_hadoop下面的进程号,看看什么结果

hadoop@abp-oggdb-002:/tmp/hsperfdata_hadoop>ll
-rw------- 1 hadoop hadoop 32768 9月 28 14:34 73627
-rw------- 1 hadoop hadoop 32768 9月 28 14:34 93096
-rw------- 1 hadoop hadoop 32768 9月 28 14:34 93973
hadoop@abp-oggdb-002:/tmp/hsperfdata_hadoop>jps
93096 NameNode
94419 Jps
93973 DataNode
73627 SecondaryNameNode

hadoop@abp-oggdb-002:/tmp/hsperfdata_hadoop>rm -rf 93973
hadoop@abp-oggdb-002:/tmp/hsperfdata_hadoop>jps
94468 Jps
93096 NameNode
73627 SecondaryNameNode
hadoop@abp-oggdb-002:/tmp/hsperfdata_hadoop>ps -ef|grep DataNode
hadoop 93973 1 4 14:34 ? 00:00:05 /usr/java/jdk1.7.0_80/bin/java -Dproc_datanode -Xmx1000m -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/home/hadoop/app/hadoop/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/home/hadoop/app/hadoop -Dhadoop.id.str=hadoop -Dhadoop.root.logger=INFO,console -Djava.library.path=/home/hadoop/app/hadoop/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/home/hadoop/app/hadoop/logs -Dhadoop.log.file=hadoop-hadoop-datanode-abp-oggdb-002.log -Dhadoop.home.dir=/home/hadoop/app/hadoop -Dhadoop.id.str=hadoop -Dhadoop.root.logger=INFO,RFA -Djava.library.path=/home/hadoop/app/hadoop/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -server -Dhadoop.security.logger=ERROR,RFAS -Dhadoop.security.logger=ERROR,RFAS -Dhadoop.security.logger=ERROR,RFAS -Dhadoop.security.logger=INFO,RFAS org.apache.hadoop.hdfs.server.datanode.DataNode
hadoop 94509 93649 0 14:35 pts/0 00:00:00 grep --color=auto DataNode

结论: rm 删除之后,jps 就不现实该进程号了。 但是 程序还在, 不影响java程序的正常使用,可以使用 ps -ef|grep xx 进行查看

综上所述:

  1. 查看哪个用户的java程序,就在哪个所属用户下执行 jps
  2. jps 显示的结果不一定代表程序不存在,需要结合ps -ef|grep 进程名 进行查看
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值