Respostas:
Os arquivos pid são gravados por alguns programas para registrar sua identificação de processo enquanto eles estão iniciando. Isso tem vários propósitos:
kill
comando simples se alguém quiser finalizá-lo.A simples presença de um arquivo pid não garante que esse ID de processo específico esteja sendo executado, é claro, portanto esse método não é 100% infalível, mas "bom o suficiente" em muitos casos. Verificar se existe um PID específico na tabela de processos não é totalmente portátil em sistemas operacionais UNIX, a menos que você queira depender do ps
utilitário, que pode não ser desejável chamar em todas as instâncias (e acredito que alguns sistemas operacionais UNIX de ps
maneira diferente).
Os arquivos de bloqueio são usados pelos programas para garantir que duas instâncias (bem comportadas) separadas de um programa, que podem estar em execução simultaneamente em um sistema, não acessem outra coisa ao mesmo tempo. A idéia é antes que o programa acesse seu recurso, verifique a presença de um arquivo de bloqueio e, se o arquivo de bloqueio existir, dê um erro ou espere que ele desapareça. Quando ele não existe, o programa que deseja "adquirir" o recurso cria o arquivo e, em seguida, outras instâncias que podem aparecer mais tarde aguardam a conclusão desse processo. Obviamente, isso pressupõe que o programa "adquirindo" o bloqueio realmente o libere e não esqueça de excluir o arquivo de bloqueio.
Isso funciona porque o sistema de arquivos em todos os sistemas operacionais do tipo UNIX impõe a serialização , o que significa que apenas uma alteração no sistema de arquivos acontece a qualquer momento. Mais ou menos como bloqueios com bancos de dados e tal.
Esses arquivos geralmente são usados por daemons que devem ser executados apenas uma vez em um sistema. O arquivo PID geralmente contém o número de identificação do processo do programa já iniciado e em execução, se houver. Além disso, quando é iniciado, ele cria o arquivo de bloqueio. Enquanto o arquivo de bloqueio existir, ele não iniciará outro sem a intervenção do usuário. Se o arquivo de bloqueio existir e o ID do processo mencionado no arquivo pid não estiver em execução, o daemon será considerado "morto", o que significa que ele deve estar em execução, mas provavelmente não se deve a uma falha ou ao desligamento inadequado. . Isso pode iniciar um cenário especial de inicialização / reinicialização para alguns programas. Desligá-lo corretamente removerá o arquivo de bloqueio.
Um arquivo PID conterá o ID do processo de um processo em execução. Isso tem vários usos; você pode lê-lo e verificar se o processo ainda está em execução, tomar as ações apropriadas ou lê-lo e encerrar o processo.
Um arquivo de bloqueio provavelmente é específico do aplicativo. Os arquivos de bloqueio são usados para indicar que algum recurso está em uso e que o processo que deseja acessar deve esperar até que o recurso seja liberado antes de continuar.
.lck
arquivo no diretório da VM, caso contrário, ele informará que está em uso quando você tentar iniciá-lo.