jps主要用来查看jvm的进程,即使没有任何jvm进程,也会输出自己的进程,如下

[hadoop@server ~]$ jps
20867 Jps

今天碰到一种情况,就是普通用户输入jps后,没有任何输出,但是root下就有输出。上网查了一下,原因如下,jps需要在tmp下创建一个hsperfdata_username的目录,用来存放进程的ip,在服务器上查看了一下,果然没有hadoop用户所对应的目录,创建一个,并修改目录的属主即可。

root@server ~]# mkdir /tmp/hsperfdata_hadoop
[root@server ~]# chown -R hadoop.hadoop /tmp/hsperfdata_hadoop

这样再执行jps,就会有输出了。