FUSER(1) Comandos de usuario FUSER(1) NOME fuser - identifica processos usando arquivos ou soquetes SINOPSE fuser [-fuv] [-a|-s] [-4|-6] [-c|-m|-n space] [ -k [-i] [-M] [-w] [-SIGNAL] ] name ... fuser -l fuser -V DESCRICAO fuser exibe os PIDs de processos usando os arquivos ou sistemas de arquivos especificados. No modo de exibicao padrao, cada nome de arquivo e seguido por uma letra que indica o tipo de acesso: c diretorio atual. e executavel que esta em execucao. f abre um arquivo. f e omitido no modo de exibicao padrao. F abre arquivo para escrita. F e omitido no modo de exibicao padrao. r diretorio raiz. m biblioteca compartilhada ou arquivo que foram mapeados com mmap. . Espaco reservado, omitido no modo de exibicao padrao. fuser retorna um codigo 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 espaco de nomes correspondente deve ser selecionado com a opcao -n. Por padrao, fuser procurara nos soquetes IPv6 e IPv4. Para alterar o comportamento padrao, use as opcoes -4 e -6. Os soquetes podem ser especificados pela porta local e remota e pelo endereco remoto. Todos os campos sao opcionais, mas as virgulas na frente dos campos ausentes devem estar presentes: [porta_lcl][,[host_rmt][,[porta_rmt]]] Valores simbolicos ou numericos podem ser usados para enderecos IP e numeros de porta. fuser emite apenas os PIDs para stdout, todo o resto e enviado para stderr. OPCOES -a, --all Mostra todos os arquivos especificados na linha de comando. Por padrao, apenas os arquivos acessados por pelo menos um processo sao mostrados. -c Igual a opcao -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 e enviado. Um processo fuser nunca mata a si proprio, mas pode matar outros processos fuser. O ID de usuario efetivo do processo que executa fuser e definido com seu ID de usuario real antes de tentar matar. -i, --interactive Peca confirmacao ao usuario antes de encerrar um processo. Esta opcao e silenciosamente ignorada se -k tambem nao estiver presente. -I, --inode Para o espaco de nomes de file, deixa todas as comparacoes 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 solicitacao sera atendida apenas se NOME especificar um ponto de montagem. Este e um cinto de seguranca inestimavel que o impede de matar a maquina se NOME nao for um sistema de arquivos. -w Mata apenas os processos que tem acesso de escrita. Esta opcao e silenciosamente ignorada se -k tambem nao estiver presente. -n ESPACO DE NOMES, --namespace ESPACO DE NOMES Seleciona um espaco de nome diferente. Os espacos de nomes file (nomes de arquivo, o padrao), udp (portas UDP locais) e tcp (portas TCP locais) sao suportados. Para portas, o numero da porta ou o nome simbolico podem ser especificados. Se nao houver ambiguidade, a notacao de atalho nome/espaco (por exemplo, 80/tcp) pode ser usada. -s, --silent Operacao silenciosa. -u e -v sao ignorados neste modo. -a nao 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 numero (por exemplo, -1). Esta opcao e silenciosamente ignorada se a opcao -k nao for usada. -u, --user Anexa o nome de usuario do proprietario do processo a cada PID. -v, --verbose Modo detalhado. Os processos sao mostrados no estilo ps. Os campos PID, USER e COMMAND sao semelhantes a ps. ACCESS mostra como o processo acessa o arquivo. O modo detalhado tambem mostrara quando um arquivo especifico esta sendo acessado como um ponto de montagem, exportacao de knfs ou arquivo de troca. Neste caso, kernel e mostrado em vez do PID. -V, --version Exibe informacao da versao. -4, --ipv4 Pesquisa apenas soquetes IPv4. Esta opcao nao deve ser usada com a opcao -6 e so tem efeito com os espacos de nomes tcp e udp. -6, --ipv6 Pesquisa apenas soquetes IPv6. Esta opcao nao deve ser usada com a opcao -4 e so tem efeito com os espacos de nomes tcp e udp. ARQUIVOS /proc local do sistema de arquivos proc EXEMPLOS fuser -km /home mata todos os processos que acessam o sistema de arquivos /home de qualquer forma. if fuser -s /dev/ttyS1; then :; else comando; fi invoca comando se nenhum outro processo estiver usando /dev/ttyS1. fuser telnet/tcp mostra todos os processos na porta TELNET (local). RESTRICOES Os processos que acessam o mesmo arquivo ou sistema de arquivos varias vezes da mesma maneira sao mostrados apenas uma vez. Se o mesmo objeto for especificado varias vezes na linha de comando, algumas dessas entradas podem ser ignoradas. fuser so pode ser capaz de coletar informacoes parciais, a menos que seja executado com privilegios. Como consequencia, os arquivos abertos por processos pertencentes a outros usuarios podem nao ser listados e os executaveis podem ser classificados apenas como mapeados. fuser nao pode relatar sobre nenhum processo para o qual nao tenha permissao para consultar a tabela do descritor de arquivo. O momento mais comum em que esse problema ocorre e ao procurar soquetes TCP ou UDP ao executar fuser como um usuario nao root. Neste caso, fuser relatara nenhum acesso. Instalar o fuser com root SUID evitara problemas associados a informacoes parciais, mas pode ser indesejavel por razoes de seguranca e privacidade. Os espacos de nomes udp e tcp e soquetes de dominio UNIX nao podem ser pesquisados com kernels anteriores a 1.3.78. Os acessos pelo kernel sao mostrados apenas com a opcao -v. A opcao -k funciona apenas em processos. Se o usuario for o kernel, fuser imprimira um conselho, mas nao fara nada alem 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. BUGS fuser -m /dev/sgX vai mostrar (ou matar com o sinalizador -k) todos os processos, mesmo se voce nao tiver aquele dispositivo configurado. Pode haver outros dispositivos para os quais ele tambem faz isso. A opcao de montagem -m vai corresponder a qualquer arquivo dentro do mesmo dispositivo que o arquivo especificado, use a opcao -M tambem se voce pretende especificar apenas o ponto de montagem. fuser will not match mapped files, such as a process' shared libraries if they are on a btrfs(5) filesystem due to the device IDs being different for stat(2) and /proc//maps. VEJA TAMBEM kill(1), killall(1), stat(2), btrfs(5), lsof(8), mount_namespaces(7), pkill(1), ps(1), kill(2). psmisc 2022-11-02 FUSER(1)