¿Qué es el formato de archivo PID?
Un archivo .pid es un pequeño archivo de texto plano utilizado por los demonios de Unix y los servicios en segundo plano para registrar su propio ID de proceso (PID) al iniciarse. El archivo contiene un único número entero decimal -el PID- opcionalmente seguido de un salto de línea, lo que hace que el tamaño típico del archivo sea de solo 2 a 10 bytes.
Los archivos .pid cumplen tres propósitos prácticos. Primero, actúan como un bloqueo: un servicio lee el archivo al iniciarse y comprueba si un proceso con ese PID sigue en ejecución, evitando instancias duplicadas. Segundo, permiten que los scripts de inicio y los gestores de servicios envíen señales (SIGTERM, SIGHUP) al proceso correcto sin una búsqueda separada. Tercero, las herramientas de monitoreo los usan para detectar si un servicio ha fallado.
Los archivos se almacenan convencionalmente en /var/run/ en Linux o /tmp/ en otros sistemas Unix y se nombran según el servicio propietario; por ejemplo, nginx.pid o mysqld.pid. Cuando el proceso finaliza limpiamente, elimina su propio archivo .pid; un archivo que queda después de un fallo se denomina *archivo PID obsoleto* (stale PID file) y debe eliminarse antes de reiniciar el servicio.
Los formatos relacionados incluyen archivos .lock, que cumplen una función similar de exclusión mutua. Los sistemas Linux modernos que ejecutan systemd dependen cada vez más del seguimiento de procesos basado en cgroup en lugar de archivos .pid, reduciendo gradualmente su uso en las nuevas definiciones de unidades de servicio.
Seguridad y protección
RIESGO: LOWLos archivos PID son texto plano que contiene solo un número. No pueden ejecutarse y no representan un riesgo de seguridad por sí mismos. No establezca manualmente PID arbitrarios en un archivo .pid; los servicios dependen de que el PID sea exacto para la entrega de señales. Eliminar un .pid obsoleto es seguro y necesario para desbloquear el reinicio de un servicio.
Detalles del formato
en pocas palabrasProgramas que abren archivos PID
Detalles técnicos
especificación profunda| Contenido del archivo | Número entero decimal único (el ID de proceso), opcionalmente seguido de un salto de línea |
| Tamaño típico de archivo | 2-10 bytes (los PID de Linux alcanzan hasta 4,194,304, requiriendo hasta 7 dígitos) |
| Codificación | Texto plano ASCII; sin datos binarios |
| Ruta de almacenamiento convencional | /var/run/ en Linux; /tmp/ en otros sistemas Unix |
| Convención de nomenclatura | Nombrado según el servicio propietario, ej., nginx.pid o mysqld.pid |
| Ciclo de vida | Creado al iniciar el demonio; eliminado al salir limpiamente; queda obsoleto tras un fallo |
| Propósitos principales | Prevenir instancias de servicio duplicadas; enrutar señales (SIGTERM, SIGHUP) al PID correcto; permitir el monitoreo de estado |
| Sistemas operativos | Linux, macOS, BSD, Unix; algunos demonios de Windows vía WSL |
| Alternativa moderna | Seguimiento de cgroup de systemd, que elimina la necesidad de archivos PID en los nuevos archivos de unidad de servicio |
| Tipo MIME | text/plain |
| Estructura del archivo | Texto plano de un solo campo; sin encabezado, sin esquema, sin estructura binaria |
| Lanzado | 1980s (POSIX/Unix convention) |
| Última versión | N/A (no versioned spec) |
Conversiones de PID
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos PID.