Comment vérifier ce qui verrouille un fichier?


11

J'ai remarqué que parfois Mail.app verrouille les fichiers. Le verrou lui-même permet de déplacer des fichiers vers la corbeille, mais ne permet pas de vider la corbeille. (Peut-être que la corbeille devrait être renommée Thrash dans ce cas)

Existe-t-il un moyen (via une commande de terminal ou une application) de voir quelle application verrouille le fichier et / ou déverrouille le fichier sans quitter l'application?


Haha! Tu m'as eu. ;)
Michal M

Réponses:


13

Comme le dit Rabarberski, lsofpeut être utilisé pour rechercher tout processus ayant le fichier ouvert. Notez que vous devez exécuter le programme en tant que root, c'est-à-dire en utilisant sudo, et que vous pouvez donner le chemin d'accès au fichier qui vous intéresse en tant qu'argument, il n'est donc pas nécessaire de l' grepinvoquer dans l'indication vers laquelle Rabarberski pointe. De plus, si un processus détient un verrou sur le fichier, vous êtes censé pouvoir le voir à partir de la colonne FD dans la lsofsortie. Voir la page de manuel pour les détails. (Lorsque je tourne sudo lsofsur ma machine, je ne vois aucun fichier verrouillé, donc je ne garantis pas que cela fonctionne bien sur le Mac. sudoEst après tout un programme générique Unix, et il est possible que certaines fonctionnalités ne fonctionnent pas sur OSX.)

Vous ne pouvez pas déverrouiller un fichier sans tuer le processus qui détient le verrou. Mais vous pouvez le supprimer avec rmde la ligne de commande.


Je viens de noter une erreur de frappe idiote: où il est dit « sudoest après tout ...», c'était lsofque j'avais l'intention de mentionner. Je ne vais pas le modifier - c'est trop mineur pour justifier une bosse sur la première page.
Harald Hanche-Olsen du


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.