読者です 読者をやめる 読者になる 読者になる

jpsコマンドでプロセスが表示されない

jpsコマンドでjavaのプロセスが表示されない現象のめも

javaプロセスが立ち上がると、/tmp以下に hsperfdata_(user_id) というディレクトリを作成し、そこにjavaのプロセスIDが格納されます

参考:http://blog.goo.ne.jp/shiro_sakyo/e/3a2dafaae6c163f2cf94474dc62c3861


このディレクトリのパーミッションがおかしい場合にjpsコマンド結果が出力されないケースがあるようす


自分の今回のケースでは、なにかの作業でごちゃごちゃあって /tmp/hsperfdata_hadoopパーミッションがおかしくなってしまい、jpsコマンドでは捕捉できない謎のプロセスが動いてる状態になっていました

#ps -aux | grep java
hadoop   19674  0.7  8.5 1617240 164076 ?      Sl   01:41   0:18 /usr/java/default/bin/java -Dproc_namenode -Xmx1000m -Dcom.sun.m
hadoop   19836  0.6  4.8 1606176 93040 ?       Sl   01:41   0:14 /usr/java/default/bin/java -Dproc_datanode -Xmx1000m -server -Dc
hadoop   19955  0.6  5.3 1614320 102812 ?      Sl   01:41   0:16 /usr/java/default/bin/java -Dproc_jobtracker -Xmx1000m -Dcom.sun
hadoop   20125  0.6  4.8 1617484 94164 ?       Sl   01:41   0:15 /usr/java/default/bin/java -Dproc_tasktracker -Xmx1000m -Dhadoop

ファイルの所有者権限を修正したところ復活しました

$ jps
23481 NameNode
23776 JobTracker
23647 DataNode
24020 Jps
23962 TaskTracker

© karahiyo