O que é o formato de ficheiro PID?
Um arquivo .pid é um pequeno arquivo de texto simples usado por daemons Unix e serviços de segundo plano para registrar seu próprio ID de processo (PID) na inicialização. O arquivo contém um único número inteiro decimal - o PID - opcionalmente seguido por uma quebra de linha, tornando o tamanho típico do arquivo de apenas 2 a 10 bytes.
Arquivos .pid servem a três propósitos práticos. Primeiro, eles agem como uma trava (lock): um serviço lê o arquivo na inicialização e verifica se um processo com aquele PID ainda está em execução, evitando instâncias duplicadas. Segundo, eles permitem que scripts de inicialização e gerenciadores de serviço enviem sinais (SIGTERM, SIGHUP) para o processo correto sem uma busca separada. Terceiro, ferramentas de monitoramento os utilizam para detectar se um serviço travou.
Os arquivos são convencionalmente armazenados em /var/run/ no Linux ou /tmp/ em outros sistemas Unix e nomeados de acordo com o serviço proprietário - por exemplo, nginx.pid ou mysqld.pid. Quando o processo termina de forma limpa, ele remove seu próprio arquivo .pid; um arquivo deixado para trás após uma falha é chamado de *stale PID file* (arquivo PID obsoleto) e deve ser removido antes de reiniciar o serviço.
Formatos relacionados incluem arquivos .lock, que desempenham um papel semelhante de exclusão mútua. Sistemas Linux modernos que executam systemd dependem cada vez mais do rastreamento de processos baseado em cgroup em vez de arquivos .pid, reduzindo gradualmente seu uso em novas definições de unidades de serviço.
Segurança e proteção
RISCO: LOWArquivos PID são texto simples contendo apenas um número. Eles não podem ser executados e não representam risco de segurança por si mesmos. Não defina manualmente PIDs arbitrários em um arquivo .pid - os serviços dependem da precisão do PID para a entrega de sinais. Excluir um .pid obsoleto é seguro e necessário para desbloquear a reinicialização de um serviço.
Detalhes do formato
em resumoProgramas que abrem arquivos PID
Detalhes técnicos
especificação profunda| Conteúdo do arquivo | Número inteiro decimal único (o ID do processo), opcionalmente seguido por uma quebra de linha |
| Tamanho típico do arquivo | 2-10 bytes (PIDs do Linux chegam a 4.194.304, exigindo até 7 dígitos) |
| Codificação | Texto simples ASCII; sem dados binários |
| Caminho de armazenamento convencional | /var/run/ no Linux; /tmp/ em outros sistemas Unix |
| Convenção de nomenclatura | Nomeado após o serviço proprietário, ex: nginx.pid ou mysqld.pid |
| Ciclo de vida | Criado na inicialização do daemon; removido na saída limpa; deixado obsoleto após uma falha |
| Propósitos principais | Prevenir instâncias duplicadas de serviço; rotear sinais (SIGTERM, SIGHUP) para o PID correto; permitir monitoramento de integridade |
| Sistemas operacionais | Linux, macOS, BSD, Unix; alguns daemons Windows via WSL |
| Alternativa moderna | Rastreamento por cgroup do systemd, que elimina a necessidade de arquivos PID em novos arquivos de unidade de serviço |
| Tipo MIME | text/plain |
| Estrutura do arquivo | Texto simples de campo único; sem cabeçalho, sem esquema, sem estrutura binária |
| Lançado | 1980s (POSIX/Unix convention) |
| Versão mais recente | N/A (no versioned spec) |
Conversões de PID
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos PID.