La commande fuser est utile pour déterminer quels fichiers utilisent les ressources système. L'une des utilisations les plus courantes de cette commande est de déterminer quel utilisateur est actif dans un système de fichiers, ce qui empêche l'administrateur système de démonter le système de fichiers :
[root@localhost ~]# umount /boot umount: /boot: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
[root@localhost ~]# fuser -v /boot USER PID ACCESS COMMAND /boot: root kernel mount /boot student 29306 ..c.. bash
la sortie de l'unité de fusion comprendra les symboles suivants :
c current directory. e executable being run. f open file. f is omitted in default display mode. F open file for writing. F is omitted in default display mode. r root directory. m mmap'ed file or shared library.
Le tableau suivant décrit les options courantes de la commande fuser :
Option | Description |
---|---|
-k ou –kill | Tuez le processus qui utilise le système de fichiers ou la ressource. |
-i ou –interactive | Demander avant de tuer le processus (vous devez également utiliser l'option -k). |
-v ou –verbose | Verbeux ; produire des informations supplémentaires utiles. |
Exemples de commandes fuser
1. Pour obtenir le processus à l'aide du système de fichiers racine :
# fuser /
2. Pour afficher tous les fichiers spécifiés sur la ligne de commande :
# fuser -a /
3. Pour tuer les processus accédant aux fichiers :
# fuser -k /tmp
4. Pour demander à l'utilisateur avant de tuer le processus :
# fuser -ki /tmp
5. Pour lister tous les signaux connus :
# fuser -l
6. Pour répertorier tous les processus du point de montage dans lequel réside le fichier donné :
# fuser -m /tmp/file.txt
7. Pour un fonctionnement silencieux :
# fuser -s /tmp
8. Pour spécifier le signal au lieu de SIGKILL :
# fuser -signal 15 /tmp
9. Pour obtenir le nom d'utilisateur du propriétaire du processus :
# fuser -u /tmp
10. Pour définir le mode détaillé :
# fuser -v
11. Pour afficher les informations de version :
# fuser -V
12. Pour rechercher uniquement les sockets IPv4 :
# fuser -4 /tmp
13. Pour rechercher uniquement les sockets IPv6 :
# fuser -6 /tmp
14. Pour réinitialiser toutes les options de signal :
# fuser -
Réflexions finales
La commande fuser identifie et génère les ID de processus des processus qui utilisent les fichiers ou les systèmes de fichiers locaux. Chaque ID de processus est suivi d'un code alphabétique :c si le processus utilise file comme répertoire courant; e si exécutable ; f s'il s'agit d'un fichier ouvert ; F si fichier ouvert en écriture ; m s'il s'agit d'une bibliothèque partagée ; et r si le répertoire racine. Tout utilisateur autorisé à lire /dev/kmem et /dev/mem peut utiliser fuser, mais seul un utilisateur privilégié peut terminer le processus d'un autre utilisateur. fuser ne fonctionne pas sur les fichiers distants (NFS).