Respuestas:
Algunos archivos escriben archivos pid para registrar su ID de proceso mientras se inician. Esto tiene múltiples propósitos:
kill
comando simple si uno quiere finalizarlo.La mera presencia de un archivo pid no garantiza que esa identificación de proceso en particular se esté ejecutando, por supuesto, por lo que este método no es 100% infalible sino "lo suficientemente bueno" en muchos casos. Comprobar si existe un PID en particular en la tabla de procesos no es totalmente portátil en los sistemas operativos tipo UNIX a menos que desee depender de la ps
utilidad, que puede no ser conveniente llamar en todos los casos (y creo que algunos sistemas operativos tipo UNIX implementar de manera ps
diferente de todos modos).
Los programas usan archivos de bloqueo para garantizar que dos instancias separadas (con buen comportamiento) de un programa, que pueden estar ejecutándose simultáneamente en un sistema, no accedan a otra cosa al mismo tiempo. La idea es que antes de que el programa acceda a su recurso, verifique la presencia de un archivo de bloqueo y, si el archivo de bloqueo existe, ya sea un error o espere a que desaparezca. Cuando no existe, el programa que quiere "adquirir" el recurso crea el archivo, y luego otras instancias que puedan surgir más adelante esperarán a que se complete este proceso. Por supuesto, esto supone que el programa "adquiriendo" el bloqueo, de hecho, lo libera y no se olvida de eliminar el archivo de bloqueo.
Esto funciona porque el sistema de archivos en todos los sistemas operativos similares a UNIX impone la serialización , lo que significa que solo un cambio en el sistema de archivos ocurre en cualquier momento dado. Algo así como cerraduras con bases de datos y tal.
Los demonios suelen utilizar estos archivos que solo deben ejecutarse una vez en un sistema. El archivo PID generalmente contiene el número de identificación del proceso del programa ya iniciado y en ejecución, si existe. Además, cuando se inicia, crea el archivo de bloqueo. Mientras exista el archivo de bloqueo, no se iniciará otro sin intervención del usuario. Si el archivo de bloqueo existe y la identificación del proceso mencionada en el archivo pid no se está ejecutando, se considera que el demonio está en estado "inactivo", lo que significa que se supone que se está ejecutando, pero probablemente no se deba a un bloqueo o apagado incorrecto . Esto podría iniciar un escenario especial de inicio / reinicio para algunos programas. Si lo cierra correctamente, eliminará el archivo de bloqueo.
Un archivo PID contendrá la ID de proceso de un proceso en ejecución. Esto tiene varios usos; puede leerlo y verificar que el proceso aún se esté ejecutando y tomar las medidas adecuadas o leerlo y finalizar el proceso.
Es muy probable que un archivo de bloqueo sea específico de la aplicación. Los archivos de bloqueo se usan para indicar que algún recurso está en uso y que el proceso que desea acceder debe esperar hasta que se libere el recurso antes de continuar.
.lck
archivo en el directorio de la VM; de lo contrario, le dirá que está en uso cuando intente iniciarlo.