我需要自动监控服务,但 PID 每次重启后都会发生变化
所以我希望能够做到
jcmd servicename Thread.print > log.txt
而不是
jcmd 2230 Thread.print > log.txt
或者我想要一种方法将 pid 存储在变量中
var =`pidof servicename` # didn't work
这是 centos 6.5,我没有systemctl
,我用service
答案1
我认为如果可以将 PID 存储在文件中并在需要时从文件中读取它是可以的。我已经看到 CentOS 中的许多服务都这样做了。它们中的大多数使用它来避免启动新进程,以防另一个进程已经在运行。一些启动脚本结合使用从文件获取 PID 和从正在运行的进程获取 PID 来通知用户文件系统上是否存在过时的 PID 文件。包含 PID 的文件通常保存在 /var/run//.pid 中