jps查看进程
- [hadoop@hadoop002 hadoop-2.6.0-cdh5.7.0]$ jps
16188 DataNode
16379 SecondaryNameNode
16566 Jps
16094 NameNode(此时hdfs的三个进程正常起来了) - [hadoop@hadoop002 hadoop-2.6.0-cdh5.7.0]$ which jps
/usr/java/jdk1.7.0_80/bin/jps (查看命令位置)
其他用户使用jps命令
- [root@hadoop002 ~]# jps (此时是可用的,root权限大所以能查到其信息,但是显示不可用,其实是可用的,此时再hadoop用户下执行jps就能看到是可以用的,如果再其他用户下使用jps,发现根本不存在,像下面的jepson)
16188 – process information unavailable
16607 Jps
16379 – process information unavailable
16094 – process information unavailable - [root@hadoop002 ~]# su - jepson
[jepson@hadoop002 ~]$ jps
16664 Jps (此时并不能确定root下的进程是否存活)
判断一个进程是否存活
- 第一步:找到进程号 pid
- 第二步:ps -ef | grep pid 是否存在 (这一步可以知道哪个用户运行这个进程,第一列就是知道哪个用户再运行这个进程)
- 假如存在,
第二步是可以知道哪个用户运行这个进程,
su - 用户,进去查看 - 假如不存在,就手动去清空残留信息
rm -f /tmp/hsperfdata_${user}/pid文件(/tmp/hsperfdata_hadoop/pid user即进程所在的用户名)eg:rm -f /tmp/hsperfdata_hadoop/12348 - 假如删除rm -f /tmp/hsperfdata_${user}/pid文件,进程不挂,但是jps命令不显示了,所依赖的脚本都会有问题