Comment utiliser la commande Linux Fuser

Introduction

La commande fuser est une utilité Linux conçue pour trouver quel processus utilise un fichier, un répertoire ou un socket donné. Elle fournit également des informations sur l’utilisateur qui exécute ce processus et le type d’accès.

Comment utiliser l’utilitaire fuser

Vous pouvez consulter la page de manuel de fuser pour obtenir un aperçu de toutes les options à utiliser avec fuser. Vous pouvez également exécuter fuser seul sans aucune option pour obtenir un aperçu de la syntaxe de fuser:

  1. fuser
Output
No process specification given Usage: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] NAME... fuser -l fuser -V Show which processes use the named files, sockets, or filesystems. -a,--all display unused files too -i,--interactive ask before killing (ignored without -k) -k,--kill kill processes accessing the named file -l,--list-signals list available signal names -m,--mount show all processes using the named filesystems or block device -M,--ismountpoint fulfill request only if NAME is a mount point -n,--namespace SPACE search in this name space (file, udp, or tcp) -s,--silent silent operation -SIGNAL send this signal instead of SIGKILL -u,--user display user IDs -v,--verbose verbose output -w,--writeonly kill only processes with write access -V,--version display version information -4,--ipv4 search IPv4 sockets only -6,--ipv6 search IPv6 sockets only - reset options udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]

Comment afficher les processus en cours d’exécution dans un répertoire

fuser peut également être utilisé avec l’option -v, qui exécute l’outil en mode verbeux. L’option verbeuse est utilisée pour produire plus de sortie afin que l’utilisateur puisse observer ce que fuser fait. Exécutez fuser sur le répertoire actuel, ., tout en incluant l’option -v:

  1. fuser -v .
Output
USER PID ACCESS COMMAND /home/sammy: sammy 17604 ..c.. bash

Dans ce cas, le seul processus en cours d’exécution dans ce répertoire est l’interpréteur de commandes interactif bash que vous utilisez actuellement pour exécuter des commandes.

Lorsqu’il est exécuté en mode verbeux, l’utilitaire fuser fournit des informations sur l’utilisateur (USER), l’ID de processus (PID), l’accès (ACCESS) et la commande (COMMAND) d’un processus. Le caractère c sous ACCESS indique le type d’accès, signifiant dans ce cas le répertoire courant. Il existe d’autres types d’accès, tels que l’exécution d’un fichier exécutable, le répertoire racine, un fichier ouvert file, et un fichier mappé ou une bibliothèque partagée.

Comment Trouver les Processus Utilisant des Sockets Réseau

Vous pouvez également avoir besoin de rechercher des processus utilisant des sockets TCP et UDP. Pour illustrer cet exemple, vous utiliserez d’abord nc pour créer un écouteur TCP sur le port 8002, afin qu’il y ait un processus en cours d’exécution que vous pouvez observer:

  1. nc -l -p 8002

Cela bloquera le terminal tant qu’il fonctionne. Dans une autre fenêtre de terminal, utilisez fuser pour trouver le processus en cours d’exécution sur le port TCP 8002 avec l’option -n:

  1. fuser -v -n tcp 8002
Output
USER PID ACCESS COMMAND 8002/tcp: sammy 17985 F.... nc

Remarque: Par défaut, l’outil fuser vérifiera à la fois les sockets IPv4 et IPv6, mais vous pouvez changer cela avec les options -4 et -6 pour vérifier uniquement les connexions IPv4 ou uniquement IPv6, respectivement.

Le résultat affiche que l’identifiant de processus (PID) du processus utilisant netcat est 17985 et la commande utilisée pour le lancer est ‘nc’. L’identifiant de processus (PID) peut être utilisé de plusieurs manières, notamment pour arrêter ou tuer un processus en cours d’exécution. Vous pouvez en savoir plus sur la gestion des processus en lisant Comment utiliser ps, kill et nice pour gérer les processus sous Linux. Vous pouvez également utiliser fuser lui-même pour tuer les processus s’exécutant sur des ports spécifiques en utilisant l’option -k:

  1. fuser -k 8002/tcp
Output
8002/tcp: 18056

Si vous retournez à votre première fenêtre de terminal, vous remarquerez que le programme nc a été arrêté et est revenu à l’invite de commandes.

L’utilitaire fuser peut également être utilisé pour envoyer des signaux spécifiques à un processus. Lorsqu’il est utilisé avec l’option -k, la commande fuser envoie le signal KILL à un processus. Il existe de nombreux autres signaux qui peuvent être envoyés à un processus spécifique en cours d’exécution. Vous pouvez les répertorier avec fuser -l:

  1. fuser -l
Output
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS

Conclusion

Dans cet article, vous avez appris quelques exemples d’utilisation de fuser pour surveiller les ports et répertoires utilisés sur un système Linux. fuser peut être particulièrement utile lorsque vous essayez de comprendre quels processus inconnus peuvent s’exécuter sur votre système.

Ensuite, vous voudrez peut-être apprendre à utiliser netstat et du pour surveiller d’autres ressources du serveur.

Source:
https://www.digitalocean.com/community/tutorials/how-to-use-the-linux-fuser-command