¿Por qué "un archivo de bloqueo es el mejor enfoque si el recurso no es un archivo normal, por lo que el uso de métodos para bloquear archivos no se aplica"?

-1

Gracias al comentario de Mark , que me señala a https://en.wikipedia.org/wiki/File_locking#Lock_files que dice

Los scripts de shell y otros programas a menudo usan una estrategia similar al uso del bloqueo de archivos: creación de archivos de bloqueo, que son archivos cuyo contenido es irrelevante (aunque a menudo se encontrará el identificador de proceso del titular del bloqueo en el archivo) y El único propósito es señalar por su presencia que algún recurso está bloqueado. Un archivo de bloqueo suele ser el mejor enfoque si el recurso a controlar no es un archivo normal , por lo que no se aplica el uso de métodos para bloquear archivos . Por ejemplo, un archivo de bloqueo puede controlar el acceso a un conjunto de recursos relacionados, como varios archivos diferentes, directorios, un grupo de particiones de disco o acceso seleccionado a protocolos de nivel superior como servidores o conexiones de bases de datos.

En "Un archivo de bloqueo suele ser el mejor enfoque si el recurso a controlar no es un archivo normal, no se aplica el uso de métodos para bloquear archivos",

  • ¿Por qué es mejor un archivo de bloqueo si el recurso no es un archivo normal? No puedo ver un archivo de bloqueo sería diferente si el recurso protegido es un archivo normal o no.

  • ¿Qué significa "el uso de métodos para bloquear archivos no se aplica" y por qué? ¿No es eso opuesto a "Un archivo de bloqueo es a menudo el mejor enfoque"? ¿O el método para bloquear archivos es diferente del enfoque de bloqueo de archivos?

Tim
fuente
Algunos inodos no admiten el bloqueo, para los nodos de dispositivos, incluso si admiten el bloqueo, el dispositivo puede no estar bloqueado, siempre puede crear otro inodo que represente el mismo dispositivo.
炸鱼 薯条 德里克
Debido a que el bloqueo de archivos solo puede bloquear un archivo normal, otros objetos como tuberías o dispositivos no se pueden bloquear, al menos no por el mismo método de bloqueo.
炸鱼 薯条 德里克

Respuestas:

2

Si el recurso a controlar no es un archivo regular , entonces no podría usar la existencia de ese archivo regular como su propio archivo de bloqueo; entonces necesitaría crear un archivo separado para usar para el bloqueo.

Jeff Schaller
fuente
Gracias, "Si el recurso a controlar no es un archivo normal, entonces no podría usar la existencia de ese archivo regular como su propio archivo de bloqueo". pero, ¿el bloqueo de archivos realmente usa el archivo compartido en sí mismo como un archivo de bloqueo por sí solo? el bloqueo de archivos utiliza un bloqueo de archivo / registro (no un archivo de bloqueo) en el archivo compartido.
Tim
el bloqueo se implementa de varias maneras; depende del recurso de control decidir si y cómo va a bloquear el acceso a algún recurso. El caso más simple, que se inició con es exactamente la creación de un único archivo en un proceso quiere asegurarse de que se fue el creador, no otra cosa.
Jeff Schaller
¿Alguna vez puede usar un archivo existente como un archivo de bloqueo en sí mismo? (incluso si el recurso a controlar es un archivo regular)
Tim
¿Por qué bloquearías un archivo de bloqueo? ¿Estás intentando un bucle infinito recursivo?
Jeff Schaller
No estoy seguro de lo que quiere decir con "Si el recurso a controlar no es un archivo normal, entonces no podría usar la existencia de ese archivo regular como su propio archivo de bloqueo".
Tim