102 votes

guide de survie lsof

Lsof est un utilitaire de ligne de commande incroyablement puissant pour les systèmes unix. Il liste les fichiers ouverts et affiche des informations à leur sujet. Et comme presque tout est un fichier sur les systèmes unix, lsof peut fournir aux administrateurs système une tonne de données de diagnostic utiles.

Quelles sont les façons les plus courantes et les plus utiles d'utiliser lsof, et quels sont les commutateurs de ligne de commande utilisés pour cela ?

118voto

Pour afficher tous les réseaux liés à un port :

lsof -iTCP -i :port
lsof -i :22

Pour afficher les connexions à un hôte spécifique, utilisez @host

lsof -i@192.168.1.5

Afficher les connexions en fonction de l'hôte et du port en utilisant @host:port lsof -i@192.168.1.5:22

grep ping pour LISTEN indique les ports sur lesquels votre système attend des connexions :

lsof -i| grep LISTEN

Montrer ce qu'un utilisateur donné a ouvert en utilisant -u :

lsof -u daniel

Voir quels fichiers et quelles connexions réseau une commande utilise avec -c

lsof -c syslog-ng

Le site -p vous permet de voir ce qu'un ID de processus donné a d'ouvert, ce qui est utile pour en savoir plus sur les processus inconnus :

lsof -p 10075

Le site -t retourne juste un PID

lsof -t -c Mail

Utilisation de la -t et -c ensemble, vous pouvez HUP processus

kill -HUP $(lsof -t -c sshd)

Vous pouvez également utiliser le -t avec -u pour tuer tout ce qu'un utilisateur a ouvert

kill -9 $(lsof -t -u daniel)

25voto

dvorak Points 9516
lsof -i :port 

vous indiquera les programmes qui écoutent sur un port spécifique.

14voto

siesta Points 171
lsof +D /some/directory

Affiche récursivement tous les fichiers ouverts dans un répertoire. +d pour seulement le niveau supérieur.

C'est utile lorsque le pourcentage d'attente pour les entrées/sorties est élevé, qu'il y a une corrélation avec l'utilisation d'un FS particulier et que vous voulez voir quels processus sont en train de dévorer vos entrées/sorties.

13voto

Chris Points 2432

Voir quels fichiers sont ouverts par une application ou un démon en cours d'exécution :

lsof -p pid

pid est l'ID du processus de l'application ou du démon.

13voto

John Millikin Points 86775

lsof -i fournira une liste des sockets réseau ouverts. Le site -n empêchera les recherches DNS, ce qui est utile lorsque votre connexion réseau est lente ou peu fiable.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X