O que é um arquivo .pid e o que ele contém?

199

Recentemente, deparei com um arquivo com a extensão .pid e explorei dentro dele, mas não encontrei muito. A documentação diz:

Um arquivo Pid é um arquivo que contém o número de identificação do processo (pid) que é armazenado em um local bem definido do sistema de arquivos, permitindo que outros programas descubram o pid de um script em execução.

Alguém pode esclarecer mais isso ou me orientar para detalhes do que está contido no arquivo pid?

ifixthat
fonte

Respostas:

210

Os arquivos pid contêm a identificação do processo (um número) de um determinado programa. Por exemplo, o Apache HTTPD pode gravar o número do processo principal em um arquivo pid - que é um arquivo de texto comum, nada mais do que isso - e, posteriormente, usar as informações nele contidas para interromper-se. Você também pode usar essas informações para interromper o processo, usandocat filename.pid | xargs kill

Rafael Steil
fonte
4
Por que não procurar o processo pelo nome, então? Por que se preocupar em manter arquivos .pid quando você pode simplesmente executar "pidof $ process_name" e obter o ID?
Shnatsel
14
@Shnatsel: porque pode haver dois processos com esse nome em execução, e você precisa saber qual é o encarregado de que arquivo de PID. Há outras razões, mais detalhes são encontrados aqui: unix.stackexchange.com/questions/12815/…
user4815162342
2
Nesse caso, haveria 2 arquivos pid e você estará enfrentando o mesmo problema das pesquisas PID. Portanto, os arquivos de pid não servem para nada e apenas complicam as coisas nesse cenário, assim como em qualquer outro cenário em que eu possa pensar. Suspeito que eles tenham aparecido antes do procfs ou sejam usados ​​como ferramenta de portabilidade porque as interfaces do procfs são diferentes no Solaris são muito diferentes das do Linux.
Shnatsel 28/08/2013
3
Apenas uma coisa: echo filename.pid | xargs killnão matará o processo. Eu acho que você quis dizer: echo $(cat filename.pid) | xargs kill ou echo <process ID> | xargs kill.
Alexandro de Oliveira
2
@AlexandrodeOliveira Existe uma vantagem em usar echo e cat em vez de apenas cat filename.pid | xargs kill?
Simon A. Eugster
-1

Para entender os arquivos pid, consulte este DOC

Algumas vezes, existem certos aplicativos que requerem suporte adicional de plug-ins e utilitários extras. Portanto, ele acompanha esses utilitários e o processo de plug-in executando IDs usando este arquivo pid para referência.

É por isso que sempre que você reinicia um aplicativo, todos os plugins e aplicativos dependentes devem ser reiniciados, pois o arquivo pid ficará obsoleto.

Mithun Sasidharan
fonte
8
Seu primeiro link realmente não responde à pergunta.
Brian
5
Embora o material vinculado possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
Toby Speight