Hay una gran respuesta en StackOverflow sobre proporcionar un mejor bloqueo para los demonios (sintetizado por Eduardo Fleury ) que no depende del mecanismo común de bloqueo de archivos PID para los demonios. Hay muchos buenos comentarios sobre por qué los archivos de bloqueo PID a veces pueden causar problemas, por lo que no los volveré a mencionar aquí.
En resumen, la solución se basa en sockets de dominio de espacio de nombres abstractos de Linux, que realiza un seguimiento de los sockets por nombre para usted, en lugar de depender de archivos, que pueden quedarse después de que el demonio es SIGKILL'd. El ejemplo muestra que Linux parece liberar el socket una vez que el proceso está inactivo.
Pero no puedo encontrar documentación definitiva en Linux que diga qué hace exactamente Linux con el socket abstracto cuando el proceso enlazado es SIGKILL'd. ¿Alguien sabe?
Dicho de otra manera, ¿cuándo se libera exactamente el socket abstracto para volver a utilizarlo?
No quiero reemplazar el mecanismo del archivo PID con sockets abstractos a menos que resuelva definitivamente el problema.