jps工具为什么突然查找不到java进程了呢

  • 每个linux用户默认情况下都会在/tmp目录下创建一个临时目录hsperfdata_xxx(xxx表示用户名),该目录下存放着该用户启动的进程对应的pid文件,启动了多少个进程,就会对应地创建多少个pid文件;
正常情况下
  • pid文件的命名方式为:以进程号作为文件名,文件内容为空,实际上该文件什么也不存储。
正常情况下

jps工具就是通过查找/tmp/hsperfdata_xxx目录下的pid文件获取对应的进程的pid,然后通过pid获取进程的相关信息;

可是为什么有时候进程启动了,但是通过jps却查不到进程信息呢???

我查看了下/tmp/hsperfdata_xxx目录文件,发现hsperfdata_xxx目录的属主变成了root,导致进程启动后没有写权限,进而导致缺失pid文件,所以通过jps工具就查不到进程相关的信息啦。

image.png

你可能感兴趣的:(jps工具为什么突然查找不到java进程了呢)