jps出现process information unavailable(当然我ps -aux了,确定该进程是存在的),网上查找了原因,我的理解是这样:
因为jps的进程信息是存储在/tmp/hsperfdata_{myuser}中,那么当我使用 root 操作jps时,发现其它用户启动的java进程的tmp文件是读不了的。所以使用 sudo -u cloudera-scm /usr/java/jdk1.7.0_79/bin/jps 即可正常显示jps信息了。
sudo -u hdfs /usr/java/jdk1.7.0_79/bin/jps
sudo -u hive /usr/java/jdk1.7.0_79/bin/jps
sudo -u oozie /usr/java/jdk1.7.0_79/bin/jps
sudo -u sqoop2 /usr/java/jdk1.7.0_79/bin/jps
sudo -u zookeeper /usr/java/jdk1.7.0_79/bin/jps
可是感觉这个说不通啊,root应该是有全部权限的。 我又进入/tmp/hsperfdata_{myuser}看了一眼,丫的权限是600,权限属于{myuser}。。。root确实没有权限读。但这不科学啊!!!!!!!!!!!!!!!!!!!!!
记录一下,有时间再去解决这个问题。