Qual é a diferença entre lsof e fusor -uvm

5

Ambos mostram o número de arquivos que estamos usando.

No entanto, ambos mostram resultados diferentes.

root@host [~]# lsof /home4
root@host [~]# lsof /home2
root@host [~]# lsof /home4

Então chegamos

fuser -uvm /home4

                     root       2621 Frce. (root)crond
                     root       2635 Frce. (root)atd
                     root       4554 frce. (root)S99firstboot
                     root       4768 .rce. (root)firstboot
                     root       6533 .rce. (root)setup
                     root      11042 Frce. (root)leechprotect
                     root      11049 Frce. (root)httpd
                     root      17885 Frce. (root)httpd
                     root      18163 .rce. (root)sshd
                     root      18184 .rce. (root)bash
                     nobody    18619 Frce. (nobody)httpd
                     nobody    18679 Frce. (nobody)httpd
                     nobody    18812 Frce. (nobody)httpd
                     nobody    18821 Frce. (nobody)httpd
                     nobody    18841 Frce. (nobody)httpd
                     nobody    18843 Frce. (nobody)httpd
                     nobody    18850 Frce. (nobody)httpd
                     nobody    18869 Frce. (nobody)httpd
                     nobody    18885 Frce. (nobody)httpd
                     nobody    18901 Frce. (nobody)httpd
                     nobody    18914 Frce. (nobody)httpd
                     root      18932 .rc.. (root)flush-7:0
                     root      30728 Frce. (root)cphulkd
                     root      30756 Frce. (root)cpsrvd-ssl
                     root      30806 Frce. (root)cpdavd
                     root      30833 .rce. (root)queueprocd
                     root      30904 Frce. (root)tailwatchd
                     root      30913 Frce. (root)cpanellogd

Onde eu errei?

    
por user4951 07.01.2013 / 04:47

2 respostas

9

O uso dos dois é diferente.

Para lsof , para mostrar arquivos abertos apenas para determinados caminhos, coloque -- na frente de cada caminho

lsof -- /home4
lsof -- /home4 -- /home2

lsof mostrará todos os arquivos abertos contendo o caminho.

Por fuser , por outro lado, mostre o processo abrindo o arquivo que você especificou

fuser -uv <filename> 

Para mostrar os processos que acessam um determinado caminho, use -m

fuser -uvm /home3

fuser é mais útil para identificar o ID do processo ao abrir um arquivo específico.

lsof é útil para descobrir todos os arquivos abertos por um processo específico.

    
por 07.01.2013 / 07:25
1

Isso não é 100% correto. A string "-" é usada apenas uma vez após as opções e antes da lista de caminhos, por exemplo

lsof [opções] [-] [nomes]

O seguinte comando

lsof - / home4 - / home2

daria um erro, a menos que existisse um arquivo chamado "-" no diretório atual.

Este deve estar bem

lsof - / home4 / home2

Em geral, "-" significa "fim de opções" e é usado pelo shell. Portanto, se você usar algum parâmetro (como um nome de arquivo) que comece com um hífen, será necessário usar "-" para que o parâmetro não seja passado como um sinalizador de opção (inválido). Será traduzido como um parâmetro.

    
por 06.11.2015 / 11:50

Tags