¿Cómo verificar qué está bloqueando un archivo?

11

Noté que a veces Mail.app bloquea los archivos. El bloqueo en sí permite que los archivos se muevan a la Papelera, pero no permite que la Papelera se vacíe. (Tal vez debería cambiarse el nombre de Basura a Thrash en este caso)

¿Hay alguna manera (a través de un comando de terminal o una aplicación) para ver qué aplicación bloquea el archivo y / o desbloquea el archivo sin salir de la aplicación?

Michal M
fuente
¡Jaja! Me tienes. ;)
Michal M

Respuestas:

13

Como dice Rabarberski, lsofse puede utilizar para encontrar cualquier proceso que tenga abierto el archivo. Tenga en cuenta que necesita ejecutar el programa como root, es decir, usar sudo, y que puede dar el nombre de ruta al archivo que le interesa como argumento, por lo que no es necesario grepinvocarlo en la pista a la que apunta Rabarberski. Además, si un proceso mantiene un bloqueo en el archivo, se supone que puede verlo desde la columna FD en la lsofsalida. Vea la página del manual para los detalles. (Cuando ejecuto sudo lsofen mi máquina, no veo archivos bloqueados, por lo que no garantizaré que esto funcione correctamente en Mac. sudoDespués de todo, es un programa genérico de Unix, y posiblemente algunas características no funcionen en OSX).

No puede desbloquear un archivo sin eliminar el proceso que contiene el bloqueo. Pero puedes eliminarlo rmdesde la línea de comandos.

Harald Hanche-Olsen
fuente
Solo noté un error tonto: cuando decía " sudoes después de todo ..." era lo lsofque tenía la intención de mencionar. No va a editarlo: es demasiado pequeño para garantizar un salto a la página principal.
Harald Hanche-Olsen