7 exemplos do comando fuser no Linux

7 exemplos do comando fuser no Linux

O comando fuser é um utilitário do Unix que permite descobrir quais processos estão usando um arquivo, um diretório ou até mesmo um socket. Além disso, o comando também retorna informações sobre o proprietário do processo e o tipo de acesso a ele.
Vamos ver como funciona o fuser.

Sintaxe:
fuser [opções] [arquivo]

Opções mais comuns:
-a, –all
Mostrar todos os arquivos especificados na linha de comandos
-i, –interactive
Pedir confirmação do usuário antes de matar um processo
-k, –kill
Mata os processos que estão acessando o arquivo no momento. O sinal enviado é o SIGKILL, mas pode ser alterado com a opção -SIGNAL
-l, –list-signals
Listar os nomes de sinais conhecidos
-m, –mount
Mostrar todos os processos que estejam usando os sistemas de arquivos ou      dispositivos de blocos nomeados
-s, –silent
Operação silenciosa. Não use a opção -a junto com essa opção.
-u, –user
Anexar o nome do usuário a cada PID
-v, –verbose
Modo verboso
-w, –writeonly
Matar apenas os processos que tenham permissão de escrita. Esta opção é ignorada se a opção -k também não estiver presente.
-V, –version
Mostrar informações sobre a versão do utilitário
-SIGNAL sinal
Usar o sinal especificado em vez de usar o sinal padrão SIGKILL ao matar um processo. Os sinais podem ser especificados por nome ou por número. Esta opção também será ignorada se -k também não estiver presente.
-4, –ipv4
Buscar apenas sockets IPv4
-6, –ipv6
Buscar apenas sockets IPv6

Resetar todas as opções

Tipos de acesso
c  Diretório atual
e  Arquivo executável rodando
f  Arquivo aberto (omitido no modo de display padrão)
F  arquivo aberto para escrita (omitido no modo de display padrão)
r  Diretório root
m  Arquivo mapeado ou biblioteca compartilhada

Vamos a alguns exemplos do uso do comando fuser

Exemplos
1. Matar todos os processos que estejam acessando o sistema de arquivos montado /arquivos
# fuser -km /arquivos

2. Mostrar os processos em execução no diretório atual:
# fuser -v .

comando fuser no Linux - LPI 1

Essa saída mostra, no modo verboso, o nome do diretório atual (/home/fabio), os usuários, PID, tipos de acesso e comandos em execução. Veja que o usuário fabio está rodando o vi no momento, com o tipo de acesso “c”, que significa “diretório atual”.

3. Verificando se algum processo está usando sockets TCP ou UDP. Vamos descobrir se algum processo está usando a porta 22 (SSH):
# fuser -v -n tcp 22

comando fuser no Linux - LPI 1

Veja que temos conexões ocorrendo na porta 22, e o processo associado é o sshd.

4. Vamos matar os processos associados à porta 22 agora:
# fuser -i -k 22/tcp

comando fuser no Linux - LPI 1

Note que ao usarmos a opção -i o fuser entra em modo interativo, nos perguntando sobre cada processo que será morto.

5. Visualizar todos os processos no diretório atual, sem informações extras:
# fuser .

comando fuser no Linux - LPI 1

Esse comando retornou os PIDs dos processos, juntamente com uma letra que indica o tipo de acesso de cada processo.

6. Vamos matar um processo agora. Vimos no exercício 2 que o usuário fábio está usando o vi no momento, estando esse processo aberto no diretório /home/fabio. Vamos matar esse processo com o fuser. Especificamos o diretório sendo acessado e então no modo interativo escolhemos o processo que deve ser encerrado pelo seu PID:
# fuser -ki /home/fabio

comando fuser no Linux - LPI 1

7. Listando os sinais de processos que podem ser usados com o fuser:
# fuser -l

comando fuser no Linux - LPI 1

O comando fuser pode ser usado de muitas outras maneiras, e neste artigo mostramos alguns exemplos. Não deixe de consultar as páginas de manual do utilitário para obter mais informações sobre o uso do fuser, se desejado.

Até o próximo comando!

Sobre Fábio dos Reis (1339 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*