fuser - identifica processos usando arquivos ou soquetes
fuser [-fuv] [-a|-s]
[-4|-6] [-c|-m|-n space]
[ -k [-i] [-M] [-w]
[-SIGNAL] ] name ...
fuser -l
fuser -V
fuser exibe os PIDs de processos usando os arquivos ou
sistemas de arquivos especificados. No modo de exibição
padrão, cada nome de arquivo é seguido por uma letra que
indica o tipo de acesso:
- c
- diretório atual.
- e
- executável que está em execução.
- f
- abre um arquivo. f é omitido no modo de
exibição padrão.
- F
- abre arquivo para escrita. F é omitido no modo de
exibição padrão.
- r
- diretório raiz.
- m
- biblioteca compartilhada ou arquivo que foram mapeados com mmap.
- .
- Espaço reservado, omitido no modo de exibição
padrão.
fuser retorna um código de retorno diferente de zero
se nenhum dos arquivos especificados for acessado ou no caso de um erro
fatal. Se pelo menos um acesso for encontrado, fuser retorna
zero.
Para pesquisar processos usando soquetes TCP e UDP, o
espaço de nomes correspondente deve ser selecionado com a
opção -n. Por padrão, fuser
procurará nos soquetes IPv6 e IPv4. Para alterar o comportamento
padrão, use as opções -4 e -6. Os
soquetes podem ser especificados pela porta local e remota e pelo
endereço remoto. Todos os campos são opcionais, mas as
vírgulas na frente dos campos ausentes devem estar presentes:
[porta_lcl][,[host_rmt][,[porta_rmt]]]
Valores simbólicos ou numéricos podem ser usados
para endereços IP e números de porta.
fuser emite apenas os PIDs para stdout, todo o resto
é enviado para stderr.
- -a, --all
- Mostra todos os arquivos especificados na linha de comando. Por
padrão, apenas os arquivos acessados por pelo menos um processo
são mostrados.
- -c
- Igual à opção -m, usada para compatibilidade
POSIX.
- -f
- Ignorado silenciosamente, usado para compatibilidade POSIX.
- -k, --kill
- Mata os processos que acessam o arquivo. A menos que seja alterado com
-SIGNAL, SIGKILL é enviado. Um processo fuser
nunca mata a si próprio, mas pode matar outros processos
fuser. O ID de usuário efetivo do processo que executa
fuser é definido com seu ID de usuário real antes de
tentar matar.
- -i,
--interactive
- Peça confirmação ao usuário antes de encerrar
um processo. Esta opção é silenciosamente ignorada se
-k também não estiver presente.
- -I, --inode
- Para o espaço de nomes de file, deixa todas as
comparações serem baseadas nos inodes do(s) arquivo(s)
especificado(s) e nunca nos nomes dos arquivos, mesmo em sistemas de
arquivos baseados em rede.
- -l,
--list-signals
- Lista todos os nomes de sinal conhecidos.
- -m NAME,
--mount NAME
- NAME specifies a file on a mounted file system or a block device
that is mounted. All processes accessing files on that file system are
listed. If a directory is specified, it is automatically changed to
NAME/ to use any file system that might be mounted on that
directory.
- -M,
--ismountpoint
- A solicitação será atendida apenas se NOME
especificar um ponto de montagem. Este é um cinto de
segurança inestimável que o impede de matar a máquina
se NOME não for um sistema de arquivos.
- -w
- Mata apenas os processos que têm acesso de escrita. Esta
opção é silenciosamente ignorada se -k
também não estiver presente.
- -n
ESPAÇO DE NOMES, --namespace
ESPAÇO DE NOMES
- Seleciona um espaço de nome diferente. Os espaços de nomes
file (nomes de arquivo, o padrão), udp (portas UDP
locais) e tcp (portas TCP locais) são suportados. Para
portas, o número da porta ou o nome simbólico podem ser
especificados. Se não houver ambiguidade, a notação
de atalho nome/espaço (por exemplo,
80/tcp) pode ser usada.
- -s, --silent
- Operação silenciosa. -u e -v são
ignorados neste modo. -a não deve ser usado com
-s.
- -SINAL
- Usa o sinal especificado em vez de SIGKILL ao matar processos. Os sinais
podem ser especificados por nome (por exemplo, -HUP) ou por
número (por exemplo, -1). Esta opção é
silenciosamente ignorada se a opção -k não for
usada.
- -u, --user
- Anexa o nome de usuário do proprietário do processo a cada
PID.
- -v, --verbose
- Modo detalhado. Os processos são mostrados no estilo ps. Os
campos PID, USER e COMMAND são semelhantes a ps. ACCESS
mostra como o processo acessa o arquivo. O modo detalhado também
mostrará quando um arquivo específico está sendo
acessado como um ponto de montagem, exportação de knfs ou
arquivo de troca. Neste caso, kernel é mostrado em vez do
PID.
- -V, --version
- Exibe informação da versão.
- -4, --ipv4
- Pesquisa apenas soquetes IPv4. Esta opção não deve
ser usada com a opção -6 e só tem efeito com
os espaços de nomes tcp e udp.
- -6, --ipv6
- Pesquisa apenas soquetes IPv6. Esta opção não deve
ser usada com a opção -4 e só tem efeito com
os espaços de nomes tcp e udp.
- /proc
- local do sistema de arquivos proc
Os processos que acessam o mesmo arquivo ou sistema de arquivos
várias vezes da mesma maneira são mostrados apenas uma
vez.
Se o mesmo objeto for especificado várias vezes na linha de
comando, algumas dessas entradas podem ser ignoradas.
fuser só pode ser capaz de coletar
informações parciais, a menos que seja executado com
privilégios. Como consequência, os arquivos abertos por
processos pertencentes a outros usuários podem não ser
listados e os executáveis podem ser classificados apenas como
mapeados.
fuser não pode relatar sobre nenhum processo para o
qual não tenha permissão para consultar a tabela do descritor
de arquivo. O momento mais comum em que esse problema ocorre é ao
procurar soquetes TCP ou UDP ao executar fuser como um usuário
não root. Neste caso, fuser relatará nenhum acesso.
Instalar o fuser com root SUID evitará problemas
associados a informações parciais, mas pode ser
indesejável por razões de segurança e privacidade.
Os espaços de nomes udp e tcp e soquetes de
domínio UNIX não podem ser pesquisados com kernels anteriores
a 1.3.78.
Os acessos pelo kernel são mostrados apenas com a
opção -v.
A opção -k funciona apenas em processos. Se o
usuário for o kernel, fuser imprimirá um conselho, mas
não fará nada além disso.
fuser will not see block devices mounted by processes in a
different mount namespace. This is due to the device ID shown in the
process' file descriptor table being from the process namespace, not
fuser's; meaning it won't match.
fuser -m /dev/sgX vai mostrar (ou matar com o sinalizador
-k) todos os processos, mesmo se você não tiver aquele
dispositivo configurado. Pode haver outros dispositivos para os quais ele
também faz isso.
A opção de montagem -m vai corresponder a
qualquer arquivo dentro do mesmo dispositivo que o arquivo especificado, use
a opção -M também se você pretende
especificar apenas o ponto de montagem.