FUSER(1)

NOM
fuser - identifie les processus qui utilisent des fichiers ou des sockets

SYNOPSIS
fuser [-fuv] [-a|-s] [-4|-6] [-c|-m|-n espace_noms] [ -k [-i] [-M] [-w] [-SIGNAL] ] nom ...
fuser -l
fuser -V

DESCRIPTION
fuser affiche les PID des processus utilisant les fichiers ou les systèmes de fichiers spécifiés. Dans le mode d'affichage par défaut, chaque nom de fichier est suivi d'une lettre dénotant le type d'accès :

    c   répertoire courant.
    e   exécutable en cours d'exécution.
    f   fichier ouvert. f est omis dans le mode d'affichage par défaut.
    F   fichier ouvert en écriture. F est omis dans le mode d'affichage par défaut.
    r   répertoire racine.
    m   fichier ouvert avec mmap ou bibliothèque partagée.
    .   Remplissage, omis dans le mode d'affichage par défaut.

fuser retourne un code de retour non nul si aucun des fichiers spécifiés est accédé ou en cas d'erreur fatale. Si au moins un des fichiers accédés a été trouvé, fuser retourne zéro.

Afin de rechercher les processus utilisant des sockets TCP et UDP, l'espace de noms correspondant doit être sélectionné avec l'option -n. Par défaut, fuser recherchera les sockets IPv6 et IPv4. Pour changer le comportement par défaut, utilisez les options -4 et -6. Les sockets peuvent être spécifiés dans le port local, le port distant et l'adresse distante. Tous les champs sont optionnels mais une virgule doit être présente devant les champs manquants :

[port_local][,[hôte_distant][,[port_distant]]]

Des valeurs symboliques ou numériques peuvent être utilisées pour les adresses IP et les numéros de ports.

fuser envoie uniquement les PID vers stdout, le reste est envoyé vers stderr.

OPTIONS

-a, --all
    Montrer tous les fichiers spécifiés sur la ligne de commande. Par défaut, seuls les fichiers qui sont accédés par au moins un processus sont montrés.

-c  Identique à l'option -m, utilisé pour la compatibilité avec POSIX

-f  Ignoré silencieusement, utilisé pour la compatibilité avec POSIX.

-k, --kill
    Tuer les processus accédant au fichier. À moins qu'il soit changé par -SIGNAL, SIGKILL est envoyé. Un processus fuser ne se tue jamais lui-même mais il peut tuer d'autres processus fuser. Le ID de l'utilisateur effectif du processus exécutant fuser est remplacé par le ID de l'utilisateur réel avant de tenter de tuer le processus.

-i, --interactive
    Demander confirmation à l'utilisateur avant de tuer le processus. Cette option est ignorée silencieusement si -k n'est pas également présent.

-I, --inode
    Pour l'espace de noms file, toutes les comparaisons sont basées sur les inodes des fichiers spécifiés et jamais sur les noms de fichiers même avec des systèmes de fichiers reposant sur le réseau.

-l, --list-signals
    Lister tous les noms de signaux connus.

-m NOM, --mount NOM
    NOM spécifie un fichier sur un système de fichiers monté ou un périphérique bloc qui est monté. Tous les processus accédant à des fichiers sur ce système de fichiers sont listés. Si un répertoire est spécifié, il est automatiquement remplacé par NOM/ pour utiliser tout système de fichiers qui pourrait être monté sur ce répertoire.

-M, --ismountpoint
    La requête sera remplie uniquement si NOM spécifie un point de montage. Ceci est une précieuse sécurité qui vous empêche de tuer la machine si NOM s'avère ne pas être un système de fichier.

-w  Tuer uniquement les processus qui ont un accès en écriture. Cette option est ignorée silencieusement si -k n'est pas également présent.

-n ESPACENOMS, --namespace ESPACENOMS
    Sélectionner un espace de noms différents. Les espaces de noms supportés sont file (noms de fichiers, par défaut), udp (ports UDP locaux) et tcp (ports tcp locaux). Les ports peuvent être spécifiés par le numéro de port ou par le nom symbolique. S'il n'y a pas d'ambigüité, la notation raccourcie nom/espace peut être utilisée (par exemple, 80/tcp).

-s, --silent
    Opération silencieuse. -u et -v sont ignorés dans ce mode. -a ne peut pas être utilisé avec -s.

-SIGNAL
    Utilise le signal spécifié au lieu de SIGKILL pour tuer les processus. Les signaux peuvent être spécifiés soit par nom (par exemple, -HUP) ou par numéro (par exemple, -1). Cette option est ignorée silencieusement si l'option -k n'est pas utilisée.

-u, --user
    Ajouter le nom d'utilisateur du propriétaire du processus à chaque PID.

-v, --verbose
    Mode verbeux. Les processus sont affichés dans un style similaire à ps. Les champs PID, USER et COMMAND sont similaires à ps. ACCESS montre comment le processus accède au fichier. Le mode verbeux montre aussi quand un fichier est accédé comme un point de montage, un export knfs ou un fichier d'échange. Dans ce cas, « kernel » est montré au lieu du PID.

-V, --version
    Afficher les informations de version.

-4, --ipv4
    Rechercher uniquement les sockets IPv4. Cette option ne doit pas être utilisée avec l'option -6 et n'a d'effet qu'avec les espaces de noms tcp et udp.

-6, --ipv6
    Rechercher uniquement les sockets IPv6. Cette option ne doit pas être utilisée avec l'option -4 et n'a d'effet qu'avec les espaces de noms tcp et udp.

FICHIERS

/proc
    emplacement du système de fichiers proc

EXEMPLES

fuser -km /home
    tue tous les processus qui accèdent au système de fichier /home de quelque manière que ce soit.

if fuser -s /dev/ttyS1; then :; else commande; fi
    invoque la commande si aucun autre processus utilise /dev/ttyS1.

fuser telnet/tcp
    montre tous les processus sur le port TELNET (local).

RESTRICTIONS
Les processus qui accèdent au même fichier ou système de fichiers plusieurs fois de la même manière sont montrés une seule fois.

Si le même objet est spécifié plusieurs fois sur la ligne de commande, certaines de ces entrées pourraient être ignorées.

fuser pourrait n'obtenir que des informations partielles à moins d'être exécuté avec des privilèges. Par conséquent, les fichiers ouverts par des processus appartenant à d'autres utilisateurs peuvent ne pas être listés et les exécutables peuvent être classés comme ouverts avec map.

fuser ne sait pas fournir de rapport sur un processus qu'il n'a pas la permission d'examiner dans la table des descripteurs de fichiers. Ceci se produit le plus fréquemment en examinant des sockets TCP ou UDP alors que fuser est exécuté par un compte non-root. Dans ce cas, fuser ne signalera aucun accès.

Installer fuser SUID root évitera les problèmes liés aux informations partielles, mais cela pourrait être indésirable pour des raisons de sécurité et de confidentialité.

Les espaces de noms upd et tcp ainsi que les sockets de domaines UNIX ne peuvent pas être recherchés avec les noyaux antérieurs à 1.3.78.

Les accès du noyau sont uniquement montrés avec l'option -v.

L'option -k fonctionne uniquement sur des processus. Si l'utilisateur est le noyau, fuser affichera une recommandation mais ne prendra aucune action particulière.

fuser ne verra pas les périphériques blocs montés par des processus dans un espace de noms de montage différent. Ceci est dû au ID du périphérique montré dans la table des descripteurs de fichiers du processus qui appartient à l'espace de noms du processus et non à celui de fuser. Par conséquent, il ne correspondra pas.

BOGUES

fuser -m /dev/sdX montrera (ou tuera avec l'option -k) tous les processus, même si ce périphérique n'est pas configuré. Il peut y avoir d'autres périphériques pour lesquels il fait ceci aussi.

L'option de montage -m correspond à tout fichier sur le même périphérique que le fichier spécifié. Utilisez l'option -M en plus si vous voulez spécifier uniquement le point de montage.

fuser ne correspondra pas aux fichiers mappés, tels qu'un processus d'une bibliothèque partagée, s'ils sont sur un système de fichiers btrfs(5) car les ID du périphérique sont différents pour stat(2) et /proc/<PID>/maps.

VOIR AUSSI
kill(1), killall(1), stat(2), btrfs(5), lsof(8), mount_namespaces(7), pkill(1), ps(1), kill(2).