jps最主要的功能使查看java接口的进程号
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有 java 进程 pid 的命令,简单实用,非常适合在 linux/unix 平台上简单察看当前java进程的一些简单情况。
[hadoop@hadoop001 sbin]$ jps
2691 DataNode
3047 Jps
2541 NameNode
2894 SecondaryNameNode
其中有一个输出Jps就是jps命令本身,这更加证明此命令的本质也是一个Java程序。
参数-q 指定jps只输出进程ID,而不输出类的短名称:
[hadoop@hadoop001 sbin]$ jps -q
3059
2691
2541
2894
参数-m 用于输出传递给Java进程(主函数)的参数:
[hadoop@hadoop001 sbin]$ jps -m
2691 DataNode
3079 Jps -m
2541 NameNode
2894 SecondaryNameNode
参数-l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名
[hadoop@hadoop001 sbin]$ jps -l
2691 org.apache.hadoop.hdfs.server.datanode.DataNode
3109 sun.tools.jps.Jps
2541 org.apache.hadoop.hdfs.server.namenode.NameNode
2894 org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode
参数-v 可以显示传递给JVM的参数:
[hadoop@hadoop001 sbin]$ jps -v
2691 DataNode -Dproc_datanode -Xmx1000m -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0 -Dhadoop.id.str=hadoop -Dhadoop.root.logger=INFO,console -Djava.library.path=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/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-2.6.0-cdh5.7.0/logs -Dhadoop.log.file=hadoop-hadoop-datanode-hadoop001.log -Dhadoop.home.dir=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0 -Dhadoop.id.str=hadoop -Dhadoop.root.logger=INFO,RFA -Djava.library.path=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Dhadoop.security.logger=ERROR,RFAS -Dhadoop.security.logger=ERROR,RFAS -Dhadoop.security.logger=ERROR,RFAS -Dhadoop.security.logger=INFO,RFAS
3129 Jps -Denv.class.path=.:/usr/java/jdk1.8.0_144/lib:/lib: -Dapplication.home=/usr/java/jdk1.8.0_144 -Xms8m
2541 NameNode -Dproc_namenode -Xmx1000m -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0 -Dhadoop.id.str=hadoop -Dhadoop.root.logger=INFO,console -Djava.library.path=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/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-2.6.0-cdh5.7.0/logs -Dhadoop.log.file=hadoop-hadoop-namenode-hadoop001.log -Dhadoop.home.dir=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0 -Dhadoop.id.str=hadoop -Dhadoop.root.logger=INFO,RFA -Djava.library.path=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Dhadoop.security.logger=INFO,RFAS -Dhdfs.audit.logger=INFO,NullAppender -Dhadoop.security.logger=INFO,RFAS -Dhdfs.audit.logger=INFO,NullAppender -Dhadoop.security.logger=INFO,RFAS -Dhdfs.au
2894 SecondaryNameNode -Dproc_secondarynamenode -Xmx1000m -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0 -Dhadoop.id.str=hadoop -Dhadoop.root.logger=INFO,console -Djava.library.path=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/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-2.6.0-cdh5.7.0/logs -Dhadoop.log.file=hadoop-hadoop-secondarynamenode-hadoop001.log -Dhadoop.home.dir=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0 -Dhadoop.id.str=hadoop -Dhadoop.root.logger=INFO,RFA -Djava.library.path=/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Dhadoop.security.logger=INFO,RFAS -Dhdfs.audit.logger=INFO,NullAppender -Dhadoop.security.logger=INFO,RFAS -Dhdfs.audit.logger=INFO,NullAppender -Dhadoop.security.logger=I
[hadoop@hadoop001 hsperfdata_hadoop]$ ls
3679 3828 3995 4148 4248
总结
hadoop用户启动的 ./start-dfs.sh jps后可以看到进程
root用户看到的就是5235 -- process information unavailable ,
ps -ef| grep 5235 看的到是hadoop用户的这个进程还在, 那这个状态就是假死,
因为进程还在,所以说root用户 是看不到 hadoop启动的jps进程, 只有root用户启动hdfs才能看到 jps下的三个进程,