Bạn thường sẽ tìm thấy các tệp PID cho các quy trình được tạo trong /var/run/
các hệ thống kiểu Redhat / CentOS.
Nói tóm lại, bạn luôn có thể tìm trong tập lệnh init. Chẳng hạn, trình nền SSH được bắt đầu với tập lệnh trong /etc/init.d/sshd
. Đôi khi, PID sẽ được xác định ở đó (tìm kiếm pid, PID, PIDFILE, PID_FILE, v.v.).
Tuy nhiên, hầu hết các trình tiện ích khác trên các hệ thống kiểu RHEL cung cấp /etc/init.d/functions
tập lệnh cho một số tính năng phổ biến.
# Set $pid to pids from /var/run* for {program}. $pid should be declared
# local in the caller.
# Returns LSB exit code for the 'status' action.
__pids_var_run() {
local base=${1##*/}
local pid_file=${2:-/var/run/$base.pid}
Đối với bất cứ điều gì mà nguồn /etc/init.d/functions
, PID sẽ sống /var/run/*.pid
.
Đối với các ứng dụng tùy chỉnh, PID sẽ được xác định trong tập lệnh bao bọc (hy vọng). Mặc dù vậy, hầu hết các nhà phát triển mà tôi biết đều tuân theo quy ước giống như các trình tiện ích ở trên.
Nếu bạn làm cuộc chạm trán một cái gì đó mà không có một tập tin PID, hãy nhớ rằng Monit có thể giám sát trên một patern quá trình chuỗi cũng .
.pid
tập tin. Ứng dụng (hoặc tập lệnh khởi động của nó) cần tạo một cách rõ ràng.