10.13 High Sierra Comment connaitre les applications qui utilisent un disque externe

Marc ou Net

Membre actif
20 Avril 2008
677
44
48
Rennes
Bonjour,
Je voudrais savoir s'il existe une commande simple avec un résultat compréhensible pour connaitre les applications qui bloquent l'éjection d'un disque dur/clé USB externe. Parce que macOS est plutôt opaque sur le sujet. :(
 
Bonjour Marc ou Net

C'est la commande lsof : acronyme de list_open_files (lister les fichiers utilisés). Par quoi il faut entendre largement : toutes sortes d'objets > utilisés par des processus.

Voici comment tu peux faire fonctionner cette commande. Suppose que le volume de ta clé USB s'intitule CLE. Par définition > ce volume se trouve monté at: /Volumes/CLE. La commande lsof ciblant le volume de la clé sera à saisir ainsi dans une fenêtre de terminal :
Bloc de code:
sudo lsof +D /Volumes/CLE

  • mais tu peux te faciliter la tâche pour tout volume de la manière suivante : tu commences par saisir la partie constante de la commande :
Bloc de code:
sudo lsof +D

  • et tu sautes un espace libre après +D. Puis tu fais un glisser-déposer au pointeur de l'icône du volume affiché sur ton Bureau de session => dans la fenêtre du terminal. Cet acte a pour effet d'inscrire automatiquement l'adresse au volume et son intitulé (soit la partie variable de la commande). Dans l'exemple que j'ai donné de la clé > le glisser-déposer dans une fenêtre de terminal --> va inscrire automatiquement :
Bloc de code:
/Volumes/CLE

  • tous les volumes (sauf celui de démarrage) se trouvant montés dans l'espace du répertoire invisible /Volumes de l'OS démarré.

Une fois que tu as ta commande complète dans le terminal > tu presses la touche "Entrée" du clavier l'exécuter --> une demande de password s'affiche (commande sudo) --> tape ton mot-de-passe de session admin en aveugle - aucun caractère ne se montrant à la frappe - et revalide.

- la commande lsof est très lente d'exécution => attends patiemment le retour de l'invite de commande du terminal en signal de fin. Tu auras l'affichage en tableau de tous les processus en train d'utiliser le volume-cible (des objets dans le volume-cible).​
 
Bonjour macomaniac
C'est la commande lsof : acronyme de list_open_files (lister les fichiers utilisés). Par quoi il faut entendre largement : toutes sortes d'objets > utilisés par des processus.

Voici comment tu peux faire fonctionner cette commande. Suppose que le volume de ta clé USB s'intitule CLE. Par définition > ce volume se trouve monté at: /Volumes/CLE. La commande lsof ciblant le volume de la clé sera à saisir ainsi dans une fenêtre de terminal :
Bloc de code:
sudo lsof +D /Volumes/CLE
J'ai testé la commande, mais si je rentre le mot de passe utilisateur, voici ce que Terminal (ce malotru) me réponds :
Bloc de code:
marcbleriot is not in the sudoers file.  This incident will be reported.
Et quand je rentre le mot de passe administrateur, ce même goujat ose me répondre :
Bloc de code:
Sorry Try again
Est-ce parce que j'utilise mon Mac avec un compte utilisateur commun ?
 
Lorsque tu passes une commande préfacée de sudo (substitute_user_do : opérer en tant qu'utilisateur substitué - root par défaut) -->

- un fichier intitulé sudoers ("habilités à sudo") est consulté > pour vérifier si tu as "droit de sudo". Après consultation de ce fichier > le Système répond ici que l'utilisateur marcbleriot n'est pas dans le fichier sudoers (comme habilité à sudo).​

=> ce message signifie régulièrement que tu n'est pas dans une session d'utilisateur Admin > mais une Standard. Or il te faut faire partie du groupe Admin --> pour avoir droit de sudo.

- si tu vas à : Menu  > Préférences Système > Utilisateurs et groupes => qu'est-ce qui est mentionné dans la colonne de gauche - en-dessous de l'utilisateur Marc Blériot : Standard ou Admin ?​
 
Donc, j'ai réussi à trouver un moment pour tester la commande en étant administrateur. Ça marche, mais ça ne m'aide pas des masses.
Ce que je cherche c'est non pas la liste des fichiers "actifs", mais celle des applications qui utilisent des fichiers sur mon périphérique externe. Je suis enquiquinant, je sais. Pardon.
 
En fait : dans le tableau affiché par lsof -->

- ce sont bien les processus (applicatifs ou Système) qui sont en train d'utiliser le volume qui sont listés.​
 
Pardon, j'avais lu un peu trop vite. Ce sont bien les processus, mais certains ne me parlent pas immédiatement. Par contre, comme on peut aller "à l'intérieur" des applications, les processus seront facilement retrouvables via une simple recherche Spotlight. Merci beaucoup.