139 votes

Le volume ne peut pas être éjecté car il est en cours d'utilisation.

Après avoir travaillé avec un disque de sauvegarde USB externe, je veux démonter proprement le disque. Lorsque j'appuie sur le bouton d'éjection, Finder m'avertit avec le message suivant :

  • " Le volume ne peut pas être éjecté car il est en cours d'utilisation. "

ou

  • " Le disque "Diskname" n'a pas été éjecté car un ou plusieurs programmes peuvent l'utiliser. ".

ou en essayant d'utiliser le terminal : umount /Volumes/Diskname

  • " umount(/Volumes/Diskname) : Ressource occupée -- essayez 'diskutil unmount'. "

Pour autant que je sache, je n'utilise pas ce disque mais le Finder dit que je l'utilise, donc je dois me tromper. Je préfère un démontage propre du disque. Comme je suis en train d'effectuer plusieurs tâches, la déconnexion et la reconnexion ne sont pas préférables, tout comme l'installation de logiciels tiers.

Commande du terminal lsof pourrait être utile ici, mais personnellement, je pense que c'est trop complexe pour un problème aussi "simple" et, pour être honnête, je ne sais pas comment l'utiliser correctement.

Ma question : Comment puis-je savoir quel programme utilise mon lecteur afin de pouvoir quitter correctement ce programme et éjecter mon lecteur ?

The volume can't be ejected because it's currently in use.The disk "Camel" wasn't ejected because one or more programs may be using it.The disk "Mammtoh" wasn't ejected because one or more programs...xkcd

4 votes

"Pour autant que je sache, je n'utilise pas ce disque mais le Finder dit que je l'utilise, donc je dois me tromper." Vous faites trop confiance aux machines ;-) Souvent, les ordinateurs ont tort et nous, les humains, avons raison.

1 votes

Donc ce que vous dites, c'est que j'ai raison ? ;)

171voto

KTamas Points 291

lsof est en effet votre meilleure option. Le moyen le plus rapide et le plus simple serait le suivant :-.

sudo lsof /Volumes/myDrive

Son exécution peut prendre quelques minutes, mais une fois qu'elle est terminée, elle vous donne une liste des fichiers ouverts sur le disque. La sortie ressemblera à quelque chose comme ceci :

COMMAND    PID  USER   FD   TYPE DEVICE SIZE/OFF  NODE NAME
mds         89  root   19r   DIR   52,3      432     2 /Volumes/Photos
mds         89  root   23r   DIR   52,3      432     2 /Volumes/Photos
Finder     681 alans   14r   DIR   52,3      432     2 /Volumes/Photos
QuickLook 2158 alans    9r   REG   52,3  1141591 78651 /Volumes/Photos/_tmp_iphone_10_backup/APC_1546.JPG  

Dans ce cas, il s'agit de la QuickLook l'application qui a un fichier ouvert. Fermer directement l'application est la meilleure façon de résoudre le problème. Cependant, ce n'est pas toujours possible. Par exemple, QuickLook n'apparaît pas comme une application accessible dans le Dock.

Si vous ne pouvez pas fermer l'application manuellement, vous pouvez utiliser la fonction kill pour le terminer à partir de la ligne de commande. Pour ce faire, utilisez la commande PID de la deuxième colonne comme l'ID à tuer. Dans l'exemple ci-dessus, ce serait :

kill 2158

Notez que parfois cela ne fonctionne pas et une forme plus agressive de kill doit être utilisé. Voici une série d'agressions croissantes (en utilisant l'exemple du PID 2158) :

kill 2158
sudo kill 2158
sudo kill -INT 2158
sudo kill -KILL 2158

Vous devriez pouvoir éjecter le disque une fois que le processus/application a été tué.

Une dernière remarque, lsof peut prendre une minute ou deux. Il peut aussi se suspendre, mais vous devez lui laisser au moins quelques minutes avant de décider que c'est ce qui s'est passé.

De même, il arrive que la commande de base sudo lsof /Volumes/myDrive ne trouvera rien. Si cela se produit, essayez d'ajouter l'option +D (c'est-à-dire sudo lsof +D /Volumes/myDrive ). Cela fera un scan du disque de haut en bas. Cela prendra plus de temps, mais cela devrait permettre de détecter tout ce qui rend le disque non éjectable.

( Coup de chapeau à Le message d'Alec Jacobson pour plus de détails. )

2 votes

J'ai également trouvé ceci, mais j'espère que quelqu'un a une solution sans terminal. Sinon, vous aurez votre plus un ;)

32 votes

5 votes

Paul : Je vous suggère d'améliorer votre commande suggérée comme suit : /usr/bin/sudo lsof /Volumes/myDrive

38voto

Jason Robinson Points 479

Avez-vous essayé $ diskutil unmount /Volumes/Diskname ?

Ou $ diskutil unmount force /Volumes/Diskname ?

Comme le page d'accueil fait remarquer :

En raison de la nature complexe et imbriquée de Mac OS X, umount peut échouer souvent. Il est recommandé que diskutil(1) (comme dans, "diskutil unmount /mnt") soit utilisé à la place.

Si le nom de votre volume comporte des espaces, assurez-vous d'échapper à ces espaces avec la commande \ par exemple :

$ diskutil unmount /Volumes/Disk\ Name

Ou utilisez des guillemets pour éviter toute confusion.

$ diskutil unmount "/Volumes/Disk Name"

1 votes

Je crois avoir essayé et cela n'a pas fonctionné. Mais la prochaine fois, j'essaierai à nouveau et je mettrai mon message à jour en conséquence.

0 votes

Votre exemple comporte des guillemets, pas des apostrophes. Ce qui est une bonne chose.

1 votes

@NicolasBarbulesco : Merci de l'avoir signalé, j'ai apporté des corrections à la réponse. Bien vu !

19voto

Nicolas Barbulesco Points 2232

Votre problème est probablement causé par le processus  mds  : Spotlight indexe votre disque.

J'ai ce problème, et je n'ai pas (encore) trouvé de solution.

1 votes

Voici comment désactiver/réactiver l'indexation des projecteurs : iclarified.com/49187/

1 votes

J'ai aussi découvert que le service MDS l'utilise. J'ai essayé de désactiver le service mds pour le lecteur flash en utilisant "sudo mdutil -i off /Volumes/16GB" mais cela n'a pas aidé non plus. J'ai dû relancer le Finder en utilisant "Option+Clic" sur FInder.

7voto

M K Points 10691

Vous pouvez essayer l'application de donationware " Qu'est-ce qui me retient ? "qui montre quel processus/application utilise le volume/dossier/fichier.

Ce programme est certifié par le développeur pour Mac OS X 10.6 Snow Leopard, mais les Page RoaringApps pour cette application indique qu'elle fonctionne correctement sur OS X 10.7 Lion et OS X 10.8 Mountain Lion.

A propos de "Qu'est-ce qui me retient ?

Avez-vous déjà eu le problème où vous ne pouvez pas vider la Corbeille ou éjecter un disque parce que quelque chose vous en empêche ? En général, la raison en est qu'une application a un fichier ouvert, et que vous ne pouvez donc pas vous débarrasser du disque ou mettre le fichier à la corbeille. C'est pourquoi nous avons créé What's Keeping Me ! What's Keeping Me identifie l'application qui maintient l'élément ouvert. Vous pouvez alors utiliser ce logiciel pour quitter l'application en question (ou la tuer si nécessaire) afin de pouvoir effectuer votre tâche. What's Keeping Me comprend un flux de travail Automator afin que vous puissiez également effectuer des recherches directement à partir du Finder !

1 votes

Ce logiciel a l'air valable, mais je préfère vraiment les solutions natives d'OS X.

0 votes

Par natif, vous voulez dire quelque chose qu'Apple fournit ? Il n'y a rien de tel du côté de l'interface graphique. De plus, WKM existe depuis plusieurs années.

0 votes

Merci pour votre ajout. Natif n'est pas le mot correct, je voulais dire "non tiers". WKM est une bonne solution, mais personnellement je préfère lsof.

4voto

JavaResp Points 503

Essayez de relancer le Finder. Ici, cela fonctionne

0 votes

Je ne sais pas pourquoi cet article a été rétrogradé. Dans mon cas, QuickLook et mds l'ont tous deux retenu (bien qu'aucune fenêtre de recherche active ne soit ouverte). Je pouvais redémarrer mds, mais qlmanage -r a dit qu'il "réinitialisait quicklookd" mais il gardait toujours le fichier ouvert d'après lsof +D /path/to/volume . Un nouveau lancement du finder a permis de résoudre le problème et j'ai pu éjecter le volume.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X