Recherche de site Web

fuser - Rechercher, surveiller et arrêter les processus Linux


L’une des tâches les plus importantes de l’administration des systèmes Linux est la gestion des processus, qui implique plusieurs opérations telles que la surveillance, la signalisation des processus et la définition des priorités des processus sur le système.

Il existe de nombreux outils/utilitaires Linux conçus pour la surveillance et la gestion des processus, tels que top, ps, pgrep, kill, killall, nice, et bien d’autres.

Dans cet article, nous allons découvrir comment trouver des processus à l’aide d’un utilitaire Linux puissant et ingénieux appelé fuser.

Qu’est-ce qu’un unité de fusion sous Linux ?

Fuser est un utilitaire de ligne de commande simple mais puissant destiné à localiser les processus en fonction des fichiers, répertoires ou sockets auxquels un processus particulier accède. En bref, il aide un utilisateur du système à identifier les processus qui utilisent des fichiers ou des sockets spécifiques.

La syntaxe de base pour l’utilisation de fuser est la suivante :

fuser [options] [file|socket]
fuser [options] -SIGNAL [file|socket]
fuser -l 

Rechercher le processus qui accède à un annuaire

L’exécution de fuser sans aucune option affiche les PID des processus qui accèdent actuellement à votre répertoire de travail actuel.

fuser .
OR
fuser /home/tecmint

Trouver les processus en cours d’exécution d’un répertoire (sortie verbeuse)

Pour une sortie plus détaillée et plus claire, activez l’option -v ou --verbose comme suit. Dans la sortie, fuser imprime le nom du répertoire actuel, puis les colonnes du propriétaire du processus (USER), de l’ID du processus (PID), du type d’accès (ACCESS) et de la commande (COMMAND) comme dans l’image ci-dessous.

fuser -v .

Sous la colonne ACCESS, vous verrez les types d’accès signifiés par les lettres suivantes :

  • c – répertoire actuel.
  • e – un fichier exécutable en cours d’exécution.
  • f – ouvrir le fichier, cependant, f est omis dans la sortie.
  • F – fichier ouvert pour l’écriture, F est également exclu de la sortie.
  • r – répertoire racine.
  • m – fichier mmap ou bibliothèque partagée.

Déterminer quel processus accède à un fichier ou à un système de fichiers

Pour déterminer quels processus accèdent à votre fichier ~/.bashrc, exécutez :

fuser -v -m .bashrc

L’option -m NAME ou --mount NAME affiche tous les processus accédant au fichier ou au répertoire donné. Si vous passez un répertoire au nom de NAME, il ajoute automatiquement un / pour référencer le système de fichiers monté dans ce répertoire.

Rechercher quel processus utilise un port spécifique

Un autre cas d’utilisation pratique consiste à identifier quel processus utilise un port réseau spécifique, ce qui est particulièrement utile pour le débogage des conflits de services.

sudo fuser 80/tcp
OR
sudo fuser -v 80/tcp

Cela montre le PID du processus à l’aide du port TCP 80. Ajoutez -v pour une sortie détaillée.

Comment arrêter et signaler des processus à l’aide d’un unité de fusion

Pour tuer tous les processus accédant à un fichier ou à un socket, utilisez l’option -k ou --kill.

sudo fuser -k .

Pour arrêter un processus de manière interactive, où il vous est demandé de confirmer votre intention de tuer les processus accédant à un fichier ou à un socket, utilisez l’option -i ou --interactive.

sudo fuser -ki .

Les deux commandes précédentes tueront tous les processus accédant à votre répertoire actuel ; le signal par défaut envoyé aux processus est SIGKILL, sauf lorsque -SIGNAL est utilisé.

Liste de tous les signaux disponibles sous Linux

Vous pouvez lister tous les signaux à l’aide des options -l ou --list-signals comme ci-dessous.

sudo fuser --list-signals 

Envoyer un signal spécifique aux processus

Par conséquent, vous pouvez envoyer un signal aux processus comme dans la commande suivante, où SIGNAL est l’un des signaux répertoriés dans la sortie ci-dessus.

sudo fuser -k -SIGNAL

Par exemple, pour envoyer le signal HUP (raccrocher) aux processus accédant à /boot.

sudo fuser -k -HUP /boot

Pour une utilisation avancée et plus de détails, consultez la page du manuel de l’unité de fusion.

man fuser
Conclusion

La commande fuser n’est peut-être pas le premier outil qui vient à l’esprit lors de la gestion des processus, mais c’est un joyau caché pour tout utilisateur Linux ou administrateur système. Il est parfait pour savoir quels processus utilisent des fichiers, des répertoires ou des ports spécifiques, et vous donne le pouvoir de les traiter directement.

Si vous travaillez avec des fichiers, des répertoires ou des services réseau sur un système Linux, apprendre à utiliser fuser vaut à 100 % votre temps.

Articles connexes: