1 votes

Le disque "Vol" n'a pas pu être éjecté car "Terminal" l'utilise.

J'ai connecté un disque dur externe au Mac et j'ai juste lancé la commande df -h dans le terminal. Lorsque j'ai essayé d'éjecter le disque, une erreur s'est produite. Après avoir fermé le terminal, j'ai pu l'éjecter. Mais est-ce vraiment nécessaire ? Je n'ai ouvert aucun fichier sur le disque externe. df -h montre seulement l'utilisation du disque de tous les lecteurs. Alors comment se fait-il que le terminal utilise le disque et empêche son éjection ?

The disk “Vol” couldn’t be ejected because “Terminal” is using it

1 votes

Si vous ne l'avez pas fait. cd au volume, comment exactement avez-vous exécuté df -h ?

1 votes

De ma racine. Je ne pense pas qu'il soit nécessaire de se rendre sur le volume pour exécuter df -h . Il liste tous les volumes connectés.

3voto

Michael Zhou Points 167

Si vous cd- changez de répertoire vers le système de fichiers monté, vous devez cd- sortir du système de fichiers avant de pouvoir l'éjecter. Par exemple

cd; diskutil eject /Volumes/<volume name>

cd : change le répertoire de travail actuel en votre dossier personnel

diskutil : éjecte le système de fichiers

Il y a un cas où l'onglet doit être fermé. Parfois, le répertoire de travail initial se trouve sur le volume. (Cela peut se produire si vous ouvrez un nouvel onglet à partir d'un onglet existant qui visite le volume). Lorsque cela se produit, deux processus utilisent initialement le volume : login et le shell qu'il lance. cd changera le répertoire de travail dans l'interpréteur de commandes, mais n'affectera pas le répertoire de travail de l'utilisateur. login processus. La seule façon de faire login arrêter d'utiliser le volume est de fermer l'onglet.

Si vous n'êtes pas sûr de savoir quel(s) onglet(s) fermer, vous pouvez utiliser la commande lsof :

sudo lsof -a -c login /Volumes/<volume name> 

Cette commande affichera les identifiants de processus (et d'autres informations) pour tous les processus de l'entreprise. login les processus qui ont ouvert un sous-répertoire du volume. Avec l'ID du processus, vous pouvez soit :

  • (si le terminal est configuré pour afficher le nom du TTY dans le titre) :
    1. obtenir le terminal de contrôle avec ps ( ps -o tty -p <login pid(s),> )
    2. trouver les onglets pertinents dans le menu Fenêtre
    3. les fermer
  • plus simplement, fermer le service concerné login en lui/leur envoyant un SIGHUP ( kill -HUP <login pid(s)> )

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