Você geralmente encontrará os arquivos PID para processos daemonizados nos /var/run/
sistemas no estilo Redhat / CentOS.
Além disso, você sempre pode procurar no script init do processo. Por exemplo, o daemon SSH é iniciado com o script em /etc/init.d/sshd
. Às vezes, o PID será definido lá (pesquise pid, PID, PIDFILE, PID_FILE, etc.).
No entanto, a maioria dos outros daemons nos sistemas no estilo RHEL /etc/init.d/functions
fornece o script para alguns recursos comuns.
# 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}
Para qualquer coisa que origine /etc/init.d/functions
, o PID permanecerá /var/run/*.pid
.
Para aplicativos customizados, o PID será definido em um script de wrapper (espero). A maioria dos desenvolvedores que conheço segue a mesma convenção que os daemons acima.
Se você faz encontro algo sem um arquivo PID, lembre-se que Monit pode monitorar em um patern corda processo bem .
.pid
arquivo. O aplicativo (ou seu script de inicialização) precisa criar explicitamente um.