fuser - identifie les processus qui utilisent des fichiers ou des sockets
fuser [
-fuv] [
-a|
-s] [
-4|
-6]
[
-c|
-m|
-n espace_noms] [
-k
[
-i] [
-M] [
-w] [
-SIGNAL] ]
nom ...
fuser -l
fuser -V
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.
-
-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.
- /proc
- emplacement du système de fichiers proc
- 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).
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.
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.
kill(1),
killall(1),
lsof(8),
mount_namespaces(7),
pkill(1),
ps(1),
kill(2).