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) :
- obtenir le terminal de contrôle avec
ps
( ps -o tty -p <login pid(s),>
)
- trouver les onglets pertinents dans le menu Fenêtre
- les fermer
- plus simplement, fermer le service concerné
login
en lui/leur envoyant un SIGHUP ( kill -HUP <login pid(s)>
)
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.