Como usar lsof para rastrear arquivos abertos no Linux

Como usar lsof para rastrear arquivos abertos no Linux

Você já tentou fechar seu shell ou desmontar uma unidade apenas para obter um erro de que um ou mais arquivos estão em uso? Ou talvez você tenha tentado editar um arquivo apenas para descobrir que ele está bloqueado por outro programa?





Talvez você esteja preocupado que alguém tenha obtido acesso não autorizado ao seu sistema Linux. Usando uma ferramenta chamada lsof, você pode ver quais arquivos estão abertos, mesmo em conexões de rede.





MAKEUSEO VÍDEO DO DIA

O que é lsof?

lsof é um utilitário que lista arquivos abertos. Victor Abell desenvolveu-o originalmente na Universidade de Purdue. Está disponível para várias implementações de Unix, incluindo Linux. Atualmente é mantido pelo equipe lsof-org no GitHub .





usar um laptop como monitor

Instalando o lsof no Linux

Há uma boa chance de você já ter o lsof instalado em seu sistema. Tente digitar lsof na linha de comando. Se não for, você pode instalá-lo através do gerenciador de pacotes da sua distribuição.

Em um sistema Ubuntu ou Debian, digite:



sudo apt install lsof

Sobre Distribuições Linux baseadas em Arch :

como abrir arquivo .gz
sudo pacman -S lsof

E no RHEL, Rocky Linux e Oracle Linux:





sudo dnf install lsof

Visualizando arquivos abertos no Linux com lsof

 lsof saída no terminal

Usar lsof é simples. Você pode simplesmente invocá-lo na linha de comando para ver todos os arquivos abertos pertencentes a você:

lsof

lsof pode listar processos pertencentes à raiz como 'Permissão negada'. Para ver todos os arquivos abertos por todos os processos em todo o sistema, execute-o como root:





sudo lsof

lsof mostrará o comando, o PID, o usuário que o invocou, o descritor de arquivo, o tipo, o dispositivo, o tamanho, o nó e o caminho absoluto do arquivo aberto.

Se você tentar desmontar uma unidade, como uma unidade óptica, e receber um erro de que os arquivos estão em uso, poderá ver qual processo está usando o arquivo e, em seguida, sair ou eliminá-lo.

 saída lsof -i

Para ver quaisquer tomadas de Internet atualmente em uso em seu sistema, use o -eu opção:

sudo lsof -i

Você pode detectar uma possível intrusão se notar algo suspeito em seu sistema, mas invasores mais sofisticados podem cobrir melhor seus rastros.

por que meu spotify não está funcionando

o -r opção coloca lsof no modo de repetição, onde exibirá os resultados após um determinado intervalo até que você pressione Ctrl+C . Por padrão, ele é executado a cada 15 segundos, mas você pode alterá-lo. Por exemplo, você pode executar o comando a cada 10 segundos digitando:

lsof -r 10

Assim como com outros utilitários do Linux, você pode combinar essas opções. Suponha que você queira assistir sua conexão com a internet a cada cinco segundos. Você pode fazer isso com lsof digitando:

lsof -i -r 5

Agora você pode rastrear quais processos do Linux têm arquivos abertos

Com o lsof, você pode rastrear quais processos têm arquivos abertos e corrigir quaisquer problemas que possam causar.

Arquivos abertos são apenas uma faceta dos processos do Linux. Existem muitas maneiras de gerenciar processos no Linux. É fácil iniciar, parar e examinar processos no Linux para que você possa tirar o máximo proveito do seu sistema.