Saltar al contenido

Cómo encontrar el archivo .pid para un proceso dado

Este tutorial ha sido probado por nuestros expertos para que tengas la garantía de la exactitud de este escrito.

Solución:

Solución 1:

Por lo general, encontrará los archivos PID para procesos daemonizados en /var/run/ en sistemas estilo Redhat/CentOS.

Aparte de eso, siempre puede buscar en el script de inicio del proceso. Por ejemplo, el demonio SSH se inicia con el script en /etc/init.d/sshd. A veces, el PID se definirá allí (busque pid, PID, PIDFILE, PID_FILE, etc.).

Sin embargo, la mayoría de los otros demonios en los sistemas de estilo RHEL obtienen el /etc/init.d/functions guión para algunas características comunes.

# 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 cualquier cosa que las fuentes /etc/init.d/functionsel PID vivirá en /var/run/*.pid.

Para aplicaciones personalizadas, el PID se definirá en un script contenedor (con suerte). Sin embargo, la mayoría de los desarrolladores que conozco siguen la misma convención que los demonios anteriores.

Si usted hacer encuentra algo sin un archivo PID, recuerde que Monit puede monitorear un proceso string patrón también.

Solución 2:

Otro enfoque que tomé:

Tengo un servidor de base de datos que se ejecuta en modo incrustado y los datos están dentro del directorio de la aplicación contenedora.

La base de datos tiene algo así como un archivo .pid, pero lo llama archivo de bloqueo. Para ubicar este archivo de bloqueo, enumeré todos los archivos abiertos por la aplicación:

$ ls -l /proc/18264/fd | cut -d'>' -f2

Eso me dio una larga lista que incluye sockets, tuberías, archivos de servidor, etc. Pocos filtros y llegué a lo que necesitaba:

$ ls -l /proc/18264/fd | cut -d'>' -f2 | grep /home/ | cut -b40- | sort | uniq | grep titan

/windup/reports/group_report.LJfZVIavURqg.report/graph/titangraph/00000000.jdb
/windup/reports/group_report.LJfZVIavURqg.report/graph/titangraph/je.info.0
/windup/reports/group_report.LJfZVIavURqg.report/graph/titangraph/je.info.0.lck
/windup/reports/group_report.LJfZVIavURqg.report/graph/titangraph/je.lck

Más adelante puedes encontrar las acotaciones de otros programadores, tú también eres capaz mostrar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *