lsof survival guide [chiuso]


104

lsof è un'utilità della riga di comando incredibilmente potente per i sistemi unix. Elenca i file aperti, visualizzando le informazioni su di essi. E poiché quasi tutto è un file su sistemi unix, lsof può fornire agli amministratori di sistema una tonnellata di dati diagnostici utili.

Quali sono alcuni dei modi più comuni e utili di utilizzare lsof e quali opzioni della riga di comando vengono utilizzate per questo?

Risposte:


119

Per mostrare tutte le reti relative a un dato port:

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

Per mostrare le connessioni a un host specifico, usa @host

lsof -i@192.168.1.5

Mostra le connessioni in base all'host e alla porta utilizzando @host:port lsof -i@192.168.1.5: 22

grepping per LISTENmostra su quali porte il tuo sistema attende le connessioni:

lsof -i| grep LISTEN

Mostra ciò che un determinato utente ha aperto utilizzando -u:

lsof -u daniel

Scopri con quali file e connessioni di rete viene utilizzato un comando -c

lsof -c syslog-ng

Lo -pswitch ti consente di vedere cosa è aperto un determinato ID processo, il che è utile per saperne di più sui processi sconosciuti:

lsof -p 10075

L' -topzione restituisce solo un filePID

lsof -t -c Mail

Usando insieme le opzioni -te -cpuoi HUPprocessare

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

Puoi anche usare -tcon -uper uccidere tutto ciò che un utente ha aperto

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


Un buon modo è usare la cheat gem, se usi Ruby. È solo una comoda CLI basata sulla comunità per cheat-sheet di molte utilità (indipendente dalla lingua). Fai un tentativo .
Kedar Mhaswade

25
lsof -i :port 

ti dirà quali programmi stanno ascoltando su una porta specifica.


1
Non si limita all '"ascolto", quindi se specifichi lsof -i :8080e hai un sacco di processi che si connettono a un proxy sulla porta 8080, otterrai anche quelli.
Matt Byrne

14
lsof +D /some/directory

Visualizzerà ricorsivamente tutti i file aperti in una directory. + d solo per il livello superiore.

Questo è utile quando hai una percentuale di attesa elevata per l'IO, correlata all'uso su un particolare FS e vuoi vedere quali processi stanno masticando il tuo io.


13

lsof -ifornirà un elenco di socket di rete aperti. L' -nopzione impedirà le ricerche DNS, il che è utile quando la connessione di rete è lenta o inaffidabile.


5
lsof -iti mostrerà solo i socket a cui hai accesso nel tuo spazio dei nomi (e che sono considerati socket "Internet" attraverso l'introspezione, non solo qualsiasi tipo di socket di rete). In caso contrario, gli handle di tipo "calzino" non verranno visualizzati nell'elenco.
Nick Bastin

13

Guarda quali file ha aperto un'applicazione o un demone in esecuzione:

lsof -p pid

Dove pid è l'ID del processo dell'applicazione o del daemon.


10
lsof +f -- /mountpoint

elenca i processi che utilizzano i file sul montaggio montato in / mountpoint. Particolarmente utile per trovare i processi che utilizzano una chiavetta USB montata o un CD / DVD.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.