FUSER(1) Commandes de l'utilisateur 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 systemes de fichiers specifies. Dans le mode d'affichage par defaut, chaque nom de fichier est suivi d'une lettre denotant le type d'acces : c repertoire courant. e executable en cours d'execution. f fichier ouvert. f est omis dans le mode d'affichage par defaut. F fichier ouvert en ecriture. F est omis dans le mode d'affichage par defaut. r repertoire racine. m fichier ouvert avec mmap ou bibliotheque partagee. . Remplissage, omis dans le mode d'affichage par defaut. fuser retourne un code de retour non nul si aucun des fichiers specifies est accede ou en cas d'erreur fatale. Si au moins un des fichiers accedes a ete trouve, fuser retourne zero. Afin de rechercher les processus utilisant des sockets TCP et UDP, l'espace de noms correspondant doit etre selectionne avec l'option -n. Par defaut, fuser recherchera les sockets IPv6 et IPv4. Pour changer le comportement par defaut, utilisez les options -4 et -6. Les sockets peuvent etre specifies dans le port local, le port distant et l'adresse distante. Tous les champs sont optionnels mais une virgule doit etre presente devant les champs manquants : [port_local][,[hote_distant][,[port_distant]]] Des valeurs symboliques ou numeriques peuvent etre utilisees pour les adresses IP et les numeros de ports. fuser envoie uniquement les PID vers stdout, le reste est envoye vers stderr. OPTIONS -a, --all Montrer tous les fichiers specifies sur la ligne de commande. Par defaut, seuls les fichiers qui sont accedes par au moins un processus sont montres. -c Identique a l'option -m, utilise pour la compatibilite avec POSIX -f Ignore silencieusement, utilise pour la compatibilite avec POSIX. -k, --kill Tuer les processus accedant au fichier. A moins qu'il soit change par -SIGNAL, SIGKILL est envoye. Un processus fuser ne se tue jamais lui-meme mais il peut tuer d'autres processus fuser. Le ID de l'utilisateur effectif du processus executant fuser est remplace par le ID de l'utilisateur reel avant de tenter de tuer le processus. -i, --interactive Demander confirmation a l'utilisateur avant de tuer le processus. Cette option est ignoree silencieusement si -k n'est pas egalement present. -I, --inode Pour l'espace de noms file, toutes les comparaisons sont basees sur les inodes des fichiers specifies et jamais sur les noms de fichiers meme avec des systemes de fichiers reposant sur le reseau. -l, --list-signals Lister tous les noms de signaux connus. -m NOM, --mount NOM NOM specifie un fichier sur un systeme de fichiers monte ou un peripherique bloc qui est monte. Tous les processus accedant a des fichiers sur ce systeme de fichiers sont listes. Si un repertoire est specifie, il est automatiquement remplace par NOM/ pour utiliser tout systeme de fichiers qui pourrait etre monte sur ce repertoire. -M, --ismountpoint La requete sera remplie uniquement si NOM specifie un point de montage. Ceci est une precieuse securite qui vous empeche de tuer la machine si NOM s'avere ne pas etre un systeme de fichier. -w Tuer uniquement les processus qui ont un acces en ecriture. Cette option est ignoree silencieusement si -k n'est pas egalement present. -n ESPACENOMS, --namespace ESPACENOMS Selectionner un espace de noms differents. Les espaces de noms supportes sont file (noms de fichiers, par defaut), udp (ports UDP locaux) et tcp (ports tcp locaux). Les ports peuvent etre specifies par le numero de port ou par le nom symbolique. S'il n'y a pas d'ambiguite, la notation raccourcie nom/espace peut etre utilisee (par exemple, 80/tcp). -s, --silent Operation silencieuse. -u et -v sont ignores dans ce mode. -a ne peut pas etre utilise avec -s. -SIGNAL Utilise le signal specifie au lieu de SIGKILL pour tuer les processus. Les signaux peuvent etre specifies soit par nom (par exemple, -HUP) ou par numero (par exemple, -1). Cette option est ignoree silencieusement si l'option -k n'est pas utilisee. -u, --user Ajouter le nom d'utilisateur du proprietaire du processus a chaque PID. -v, --verbose Mode verbeux. Les processus sont affiches dans un style similaire a ps. Les champs PID, USER et COMMAND sont similaires a ps. ACCESS montre comment le processus accede au fichier. Le mode verbeux montre aussi quand un fichier est accede comme un point de montage, un export knfs ou un fichier d'echange. Dans ce cas, << kernel >> est montre au lieu du PID. -V, --version Afficher les informations de version. -4, --ipv4 Rechercher uniquement les sockets IPv4. Cette option ne doit pas etre utilisee 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 etre utilisee avec l'option -4 et n'a d'effet qu'avec les espaces de noms tcp et udp. FICHIERS /proc emplacement du systeme de fichiers proc EXEMPLES fuser -km /home tue tous les processus qui accedent au systeme de fichier /home de quelque maniere 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 accedent au meme fichier ou systeme de fichiers plusieurs fois de la meme maniere sont montres une seule fois. Si le meme objet est specifie plusieurs fois sur la ligne de commande, certaines de ces entrees pourraient etre ignorees. fuser pourrait n'obtenir que des informations partielles a moins d'etre execute avec des privileges. Par consequent, les fichiers ouverts par des processus appartenant a d'autres utilisateurs peuvent ne pas etre listes et les executables peuvent etre classes 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 frequemment en examinant des sockets TCP ou UDP alors que fuser est execute par un compte non-root. Dans ce cas, fuser ne signalera aucun acces. Installer fuser SUID root evitera les problemes lies aux informations partielles, mais cela pourrait etre indesirable pour des raisons de securite et de confidentialite. Les espaces de noms upd et tcp ainsi que les sockets de domaines UNIX ne peuvent pas etre recherches avec les noyaux anterieurs a 1.3.78. Les acces du noyau sont uniquement montres 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 particuliere. fuser ne verra pas les peripheriques blocs montes par des processus dans un espace de noms de montage different. Ceci est du au ID du peripherique montre dans la table des descripteurs de fichiers du processus qui appartient a l'espace de noms du processus et non a celui de fuser. Par consequent, il ne correspondra pas. BOGUES fuser -m /dev/sdX montrera (ou tuera avec l'option -k) tous les processus, meme si ce peripherique n'est pas configure. Il peut y avoir d'autres peripheriques pour lesquels il fait ceci aussi. L'option de montage -m correspond a tout fichier sur le meme peripherique que le fichier specifie. Utilisez l'option -M en plus si vous voulez specifier uniquement le point de montage. fuser ne correspondra pas aux fichiers mappes, tels qu'un processus d'une bibliotheque partagee, s'ils sont sur un systeme de fichiers btrfs(5) car les ID du peripherique sont differents pour stat(2) et /proc//maps. VOIR AUSSI kill(1), killall(1), stat(2), btrfs(5), lsof(8), mount_namespaces(7), pkill(1), ps(1), kill(2). psmisc 2022-11-02 FUSER(1)