Guia de sobrevivência do lsof [fechado]


104

lsof é um utilitário de linha de comando incrivelmente poderoso para sistemas Unix. Ele lista os arquivos abertos, exibindo informações sobre eles. E uma vez que quase tudo é um arquivo em sistemas unix, lsof pode fornecer aos administradores de sistemas uma tonelada de dados de diagnóstico úteis.

Quais são algumas das maneiras mais comuns e úteis de usar lsof e quais opções de linha de comando são usadas para isso?

Respostas:


119

Para mostrar todas as redes relacionadas a um determinado port:

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

Para mostrar conexões a um host específico, use @host

lsof -i@192.168.1.5

Mostre as conexões com base no host e na porta usando @host:port lsof -i@192.168.1.5: 22

grepping para LISTENmostra em quais portas seu sistema está aguardando conexões:

lsof -i| grep LISTEN

Mostre o que um determinado usuário abriu usando -u:

lsof -u daniel

Veja com quais arquivos e conexões de rede um comando está usando -c

lsof -c syslog-ng

A -popção permite que você veja o que um determinado ID de processo está aberto, o que é bom para aprender mais sobre processos desconhecidos:

lsof -p 10075

A -topção retorna apenas umPID

lsof -t -c Mail

Usando as opções -te -cjuntas, você pode HUPprocessar

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

Você também pode usar o -tcom -upara matar tudo que um usuário abriu

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


Uma boa maneira é usar o cheat gem, se você usar Ruby. É apenas uma CLI conveniente e voltada para a comunidade para cheat-sheet de muitos utilitários (independente do idioma). Dê-lhe uma tentativa .
Kedar Mhaswade,

25
lsof -i :port 

informará quais programas estão escutando em uma porta específica.


1
Não está limitado a "escutar", então se você especificar lsof -i :8080e tiver vários processos conectando-se a um proxy na porta 8080, você também os obterá.
Matt Byrne

14
lsof +D /some/directory

Exibirá recursivamente todos os arquivos abertos em um diretório. + d apenas para o nível superior.

Isso é útil quando você tem alta espera% para IO, correlacionada para usar em um FS específico e deseja ver quais processos estão mastigando seu io.


13

lsof -iirá fornecer uma lista de sockets de rede abertos. A -nopção impedirá pesquisas de DNS, o que é útil quando sua conexão de rede é lenta ou não confiável.


5
lsof -iserá única mostrar soquetes que você tem acesso a no espaço de nomes (e que são consideradas como tomadas de "Internet" através da introspecção, não apenas qualquer tipo de soquete de rede). Caso contrário, as alças do tipo 'sock' não aparecerão na lista.
Nick Bastin

13

Veja quais arquivos um aplicativo ou daemon em execução abriu:

lsof -p pid

Onde pid é o ID do processo do aplicativo ou daemon.


10
lsof +f -- /mountpoint

lista os processos usando arquivos na montagem montada em / mountpoint. Particularmente útil para descobrir quais processos estão usando um stick USB ou CD / DVD montado.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.