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?

Michal M
la source
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.

Harald Hanche-Olsen
la source
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
6

Comme d'autres l'ont souligné, lsof fait l'affaire. Pour rendre la tâche encore plus simple, je suggère l'application (gratuite) "Qu'est-ce qui me retient" (URL: http://www.hamsoftengineering.com/products/wkm/wkm.html ) qui est essentiellement une interface pour lsof et possède un peu d'options pour gagner du temps.

Agos
la source
1
Le lien ne semble pas fonctionner, alors voici un autre emplacement: macupdate.com/app/mac/27807/what/'s-keeping-me ?
Michal M