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確實沒有權限讀。但這不科學啊!!!!!!!!!!!!!!!!!!!!!
記錄一下,有時間再去解決這個問題。