Centos

是否可以給 JCMD 一個服務名稱而不是 PID?

  • December 6, 2019

我需要自動監控服務,但 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

我認為如果可以將 PID 儲存在一個文件中並在需要時從那裡讀取它是可以的。我已經在 CentOS 的許多服務中看到了這一點。他們中的大多數人使用它來不啟動新程序,以防有另一個程序已經在執行。一些啟動腳本使用從文件中獲取 PID 和從正在執行的程序中獲取 PID 的組合來通知使用者文件系統上是否存在陳舊的 PID 文件。包含PID的文件通常保存在/var/run//.pid

引用自:https://serverfault.com/questions/993614