天天看點

jpsjps檢視程序其他使用者使用jps指令判斷一個程序是否存活

jps檢視程序

  1. [[email protected] hadoop-2.6.0-cdh5.7.0]$ jps

    16188 DataNode

    16379 SecondaryNameNode

    16566 Jps

    16094 NameNode(此時hdfs的三個程序正常起來了)

  2. [[email protected] hadoop-2.6.0-cdh5.7.0]$ which jps

    /usr/java/jdk1.7.0_80/bin/jps (檢視指令位置)

其他使用者使用jps指令

  1. [[email protected] ~]# jps (此時是可用的,root權限大是以能查到其資訊,但是顯示不可用,其實是可用的,此時再hadoop使用者下執行jps就能看到是可以用的,如果再其他使用者下使用jps,發現根本不存在,像下面的jepson)

    16188 – process information unavailable

    16607 Jps

    16379 – process information unavailable

    16094 – process information unavailable

  2. [[email protected] ~]# su - jepson

    [[email protected] ~]$ jps

    16664 Jps (此時并不能确定root下的程序是否存活)

判斷一個程序是否存活

  1. 第一步:找到程序号 pid
  2. 第二步:ps -ef | grep pid 是否存在 (這一步可以知道哪個使用者運作這個程序,第一列就是知道哪個使用者再運作這個程序)
  3. 假如存在,

    第二步是可以知道哪個使用者運作這個程序,

    su - 使用者,進去檢視

  4. 假如不存在,就手動去清空殘留資訊

    rm -f /tmp/hsperfdata_${user}/pid檔案(/tmp/hsperfdata_hadoop/pid user即程序所在的使用者名)eg:rm -f /tmp/hsperfdata_hadoop/12348

  5. 假如删除rm -f /tmp/hsperfdata_${user}/pid檔案,程序不挂,但是jps指令不顯示了,所依賴的腳本都會有問題