jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。
可以通过它来查看我们到底启动了几个java进程
which查看jps的文件位置
如果环境里面没有jps说明JDK未配置好
如果在当前命令行下打 jps,需要配置环境变量将JDK设置为全局变量
[hadoop@hadoop001 hadoop]$ which jps
/usr/java/jdk1.8.0_45/bin/jps
[hadoop@hadoop001 hadoop]$ jps
3778 SecondaryNameNode
4503 Jps
3500 NameNode
3597 DataNode
jps存储位置是在hsperfdata_hadoop目录下
[hadoop@hadoop001 ~]$ cd /tmp
[hadoop@hadoop001 tmp]$ cd hsperfdata_hadoop/
[hadoop@hadoop001 hsperfdata_hadoop]$ ll
total 96
-rw-------. 1 hadoop hadoop 32768 Jul 4 22:10 5010
-rw-------. 1 hadoop hadoop 32768 Jul 4 22:10 5107
-rw-------. 1 hadoop hadoop 32768 Jul 4 22:10 5296
jps注意事项
#进程所在的用户jps查看会显示,
#非root用户无进程显示
#root显示process information unavailable
[root@hadoop001 ~]# jps
5296 -- process information unavailable
5537 Jps
5010 -- process information unavailable
5107 -- process information unavailable
假如kill一个进程——还会有进程存在,这个是属于一种假象,会停留一会时间
kill有时候会自动kill
碰见这句 process information unavailable
有可能可用 有可能不可用 --》 ps -ef|grep xxx是否实际存在就行
[root@hadoop001 ~]# kill -9 4920
[root@hadoop001 ~]# jps
4920 -- process information unavailable
5051 -- process information unavailable
5468 Jps
[hadoop@hadoop001 hsperfdata_hadoop]$ jps
5480 Jps
5051 SecondaryNameNode
[hadoop@hadoop001 hsperfdata_hadoop]$
pid文件 进程启动 停止的所需的文件
[hadoop@hadoop001 tmp]$ ll
#pid文件位置
-rw-rw-r--. 1 hadoop hadoop 5 Jul 4 22:02 hadoop-hadoop-datanode.pid
-rw-rw-r--. 1 hadoop hadoop 5 Jul 4 22:02 hadoop-hadoop-namenode.pid
-rw-rw-r--. 1 hadoop hadoop 5 Jul 4 22:02 hadoop-hadoop-secondarynamenode.
生产上 一般会把重要的配置路径 存放到另外的目录下
[root@hadoop001 log]# mkdir /data/tmp
[root@hadoop001 log]# chmod -R 777 /data/tmp
[root@hadoop001 log]#