Jps 命令

wiki

显示 java 进程,就是当前用户已启动的部分 java 进程信息,信息包括进程号和简短的进程 command.

原理

  1. java 程序启动后,默认会在 /tmp/hsperfdata_<USERNAME> 目录下以该进程的 id 为文件名建立文件,并存储 jvm 运行信息,win 下也在存放临时文件的目录。
  2. jps、jconsole、jvisualvm 就是查询该目录下文件

查询不到原因

  1. 磁盘读写、目录权限问题
  2. 临时文件丢失,被删除或是定期清理
  3. java 进程信息文件存储地址被设置,不在 /tmp 目录下,上述命令只会从临时目录读取(使用 -Djava.io.tmpdir 进行设置)
  4. 启动用户权限不一致,如使用管理员启动