lsof -i não exibindo processos com soquetes abertos

1

Eu escrevi um script baseado em lsof para monitorar o soquete em uso para cada processo do meu aplicativo em particular (um soquete por processo). Quando eu especificar a opção -i para limitar a lista de arquivos abertos para soquetes, alguns processos desaparecem.

Deixe pid_list ser uma lista constante e corretamente formatada, separada por vírgulas, de 136 processos. Por que o resultado às vezes é inferior a 136?

$ lsof -p $pid_list -a -i -nP -FpcnT | grep ^p | wc -l
135
ptxrxts5:/rxnet/hermes/envp/current
$ lsof -p $pid_list -a -i -nP -FpcnT | grep ^p | wc -l
134
ptxrxts5:/rxnet/hermes/envp/current
$ lsof -p $pid_list -a -i -nP -FpcnT | grep ^p | wc -l
136

O problema pode ser reproduzido com apenas 1 pid.

$ clear ; lsof -p 5404  -a -i -nP -FpcnT
p5404
cprocess
nsource:port->dest:port
TST=ESTABLISHED
TQR=0
TQS=0
$ clear ; lsof -p 5404  -a -i -nP -FpcnT
### OOPS!!!
$ clear ; lsof -p 5404  -a -i -nP -FpcnT
p5404
cprocess
nsource:port->dest:port
TST=ESTABLISHED
TQR=0
TQS=0

Os processos são executados sem interrupção. Cada processo tem um soquete que está no estado LISTEN ou ESTABLISHED. Soquetes são IPv4. Isso está no RHEL 5.11 com lsof 4.78.

Omitir a opção lsof -i sempre exibirá o número correto de processos. Mas essa saída é inutilizável para os meus propósitos como eu preciso dos números de ip e porta de todos os processos.

Os processos omitidos por lsof parecem ser aleatórios. Eles nunca são os mesmos.

Eu suspeito que o lsof é sensível a alguma coisa, mas o que ?

EDIT 2016-07-26

Eu tentei usar o netstat como uma solução alternativa e encontrei o mesmo problema. O problema pode ser específico do meu aplicativo ou de uma combinação do que meu aplicativo faz com as restrições do sistema operacional. Algo impede que o lsof / netstat relate adequadamente.

    
por Philippe A. 09.05.2016 / 23:37

1 resposta

0

Tentando usar com o privilégio sudo. Alguns processos não serão mostrados se o comando não for executado com privilégio de sudo.

    
por 26.07.2016 / 19:32

Tags