Recherche de site Web

Commande Linux lsof expliquée avec 12 exemples pratiques


Lsof est un acronyme pour Liste des fichiers ouverts qui affiche des informations détaillées sur les fichiers qui sont maintenus ouverts sur un système Linux et quels processus les ont ouverts. Il a été développé et soutenu par Victor A. Abell.

Cet article vous aidera à comprendre l'utilisation de la commande lsof ainsi que 12 exemples pratiques.

Liste de tous les fichiers ouverts utilisant lsof

Pour afficher la liste des fichiers ouverts, exécutez simplement lsof et vous obtiendrez le résultat comme ci-dessous où vous pourrez voir un en-tête comme une commande, Pid, User, FD, etc.

lsof

Dans l'exemple ci-dessus, la plupart des colonnes et leurs valeurs sont explicites. Voyons donc ce qu'est réellement FD, Fd fait référence au descripteur de fichier et il contient des valeurs telles que :

  • cwd- répertoire de travail actuel
  • rtd - répertoire racine
  • txt - texte
  • mem - fichier mappé en mémoire

Liste des fichiers ouverts pour un utilisateur spécifique

Vous pouvez spécifier l'utilisateur en utilisant l'option -u de la commande qui vous permet de répertorier tous les fichiers ouverts pour cet utilisateur.

lsof -u root

Répertorier les fichiers ouverts par ID de processus

Supposons que vous connaissiez le pid du processus spécifique, vous pouvez rechercher dans la liste des fichiers ouverts en fonction du pid en utilisant l'option -p avec la commande suivie de la valeur pid. Vous devez exécuter la commande comme spécifié dans l'exemple ci-dessous.

lsof -p 82

Processus d'exécution de port spécifique

Pour vérifier quel processus a occupé le port spécifique, vous pouvez les lister en utilisant l'option -i avec le numéro de port sur TCP/UDP. Dans l’exemple suivant, trouvons quel processus a pris le port 80.

lsof -i:80

Afficher la liste des fichiers réseau spécifiques (IPv4 et IPv6)

Afin d'afficher les fichiers ouverts en fonction du type de fichiers réseau, vous devez spécifier le type après l'option -i.

Pour IPv4, vous devez exécuter la commande comme ci-dessous.

lsof -i 4

Pour IPv6, exécutez la commande,

lsof -i 6

Rechercher des processus qui écoutent une plage de ports spécifique

Si vous souhaitez afficher la liste des fichiers ouverts de la plage de ports spécifique. Vous devez utiliser -i après la commande avec une plage de ports spécifique.

losf -i TCP:1-100

Exclure l'utilisateur spécifique de la liste des fichiers ouverts

Vous pouvez exclure les utilisateurs de la sortie en utilisant le caractère « ^ » dans la commande, comme indiqué dans l'exemple suivant.

lsof -i -u^sanju

Répertorier les processus par chemin de répertoire

Pour trouver un processus en cours d'exécution sur un répertoire spécifique, vous pouvez exécuter une commande avec l'option +D après le chemin. Vous devez exécuter la commande de la manière suivante.

lsof +D /home/sanju

Afficher les connexions réseau

Option User -i à la commande afin d'afficher la liste des connexions réseau en fonction de l'écoute et de l'établissement.

lsof -i

Tuer un processus spécifique

Parfois, certains processus peuvent résister à l'arrêt même si vous fermez le processus ou un processus inconnu peut occuper le port sur lequel vous souhaitez exécuter un programme spécifique. Afin de forcer l'arrêt du processus, vous pouvez utiliser la commande lsof car elle est plus facile à lister le processus en cours d'exécution. Vous devez donc exécuter la commande de la manière suivante.

kill -9 $(lsof -t -i:8080)

Liste des fichiers ouverts basés sur FD (descripteur de fichier)

Vous pouvez filtrer les fichiers ouverts en fonction des types FD, vous devez utiliser l'option -d avec le type FD comme mentionné dans l'exemple ci-dessous.

lsof -d rtd

Répertorier les fichiers ouverts en fonction du nom du processus

Vous pouvez lister les fichiers en fonction du nom du processus en utilisant l'option -c avec la commande. Exécutez la commande des manières suivantes

lsof -c nginx

Conclusion

Je vous suis reconnaissant d’avoir consacré de votre temps à parcourir cet article. J'espère que vous avez acquis des connaissances sur la façon dont la commande lsof peut être utilisée. Ce sont les choses que je trouve utiles lors du déploiement de l’application.

Articles connexes: