guide de survie lsof [fermé]


104

lsof est un utilitaire de ligne de commande incroyablement puissant pour les systèmes Unix. Il répertorie 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.

Quels sont les moyens les plus courants et les plus utiles d'utiliser lsof, et quels commutateurs de ligne de commande sont utilisés pour cela?

Réponses:


119

Pour afficher tous les réseaux liés à un élément donné 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 basées sur l'hôte et le port en utilisant @host:port lsof -i@192.168.1.5: 22

grepping for LISTENmontre sur quels ports votre système attend les connexions:

lsof -i| grep LISTEN

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

lsof -u daniel

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

lsof -c syslog-ng

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

lsof -p 10075

L' -toption renvoie juste unPID

lsof -t -c Mail

En utilisant les options -tet -censemble, vous pouvez HUPtraiter

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

Vous pouvez également utiliser -tavec -upour tuer tout ce qu'un utilisateur a ouvert

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


Un bon moyen est d'utiliser la gemme de triche, si vous utilisez Ruby. Il s'agit simplement d'une interface de ligne de commande pratique et communautaire pour les feuilles de triche de nombreux utilitaires (indépendamment de la langue). Donnez - lui un essai .
Kedar Mhaswade

25
lsof -i :port 

vous dira quels programmes écoutent sur un port spécifique.


1
Ce n'est pas limité à "écouter", donc si vous spécifiez lsof -i :8080et que vous avez un tas de processus se connectant à un proxy sur le port 8080, vous les obtiendrez aussi.
Matt Byrne

14
lsof +D /some/directory

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

Ceci est utile lorsque vous avez un% d'attente élevé pour les E / S, corrélé à l'utilisation sur un FS particulier et que vous voulez voir quels processus mâchent votre io.


13

lsof -ifournira une liste des sockets réseau ouverts. L' -noption empêchera les recherches DNS, ce qui est utile lorsque votre connexion réseau est lente ou peu fiable.


5
lsof -isera seulement vous montrer les sockets que vous avez accès à votre espace de noms (et qui sont considérés comme « prises Internet » par l' introspection, pas seulement une sorte de prise réseau). Sinon, les poignées de type «chaussette» n'apparaîtront pas dans la liste.
Nick Bastin

13

Découvrez les fichiers ouverts par une application ou un démon en cours d'exécution:

lsof -p pid

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


10
lsof +f -- /mountpoint

répertorie les processus utilisant des fichiers sur le montage monté sur / mountpoint. Particulièrement utile pour trouver le ou les processus utilisant une clé USB ou un CD / DVD monté.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.