deixe lsof mostrar mais comprimento fd

1

Quando eu verifico um processo que pode usar mais de 10.000 descritores de arquivos, o lsof mostra apenas 4 dígitos. (isto é, só pode mostrar 9999)

Quando acima de 10000, começa com um sinal de asterisco. Por exemplo:

COMMAND   PID USER   FD   TYPE    DEVICE SIZE/OFF      NODE NAME
a.out     29944 root 9995u  IPv6 846704101      0t0       TCP 192.168.1.1:rtsp->192.168.1.2:50609 (ESTABLISHED)
a.out     29944 root 9996u  IPv6 846706748      0t0       TCP 192.168.1.1:rtsp->192.168.1.3:50634 (ESTABLISHED)
a.out     29944 root 9997u  IPv6 846708259      0t0       TCP 192.168.1.1:rtsp->192.168.1.4:50657 (ESTABLISHED)
a.out     29944 root *000u  IPv6 846710907      0t0       TCP 192.168.1.1:rtsp->192.168.1.5:50682 (ESTABLISHED)
a.out     29944 root *002u  IPv6 846714817      0t0       TCP 192.168.1.1:rtsp->192.168.1.6:50732 (ESTABLISHED)
a.out     29944 root *003u  IPv6 846720366      0t0       TCP 192.168.1.1:rtsp->192.168.1.5:50763 (ESTABLISHED)
a.out     29944 root *004u  IPv6 846722078      0t0       TCP 192.168.1.1:rtsp->192.168.1.6:50785 (ESTABLISHED)
a.out     29944 root *005u  IPv6 846735778      0t0       TCP 192.168.1.1:rtsp->192.168.1.6:50905 (ESTABLISHED)
a.out     29944 root *006u  IPv6 846736777      0t0       TCP 192.168.1.1:rtsp->192.168.1.16:50930 (CLOSE_WAIT)

Como posso obter mais informações (mais dígitos)?

Ou qual comando posso usar para coletar todos os descritores de arquivo de um processo?

    
por neoesque 03.08.2017 / 04:40

1 resposta

1

Como eu estava me deparando com um problema semelhante , queria compartilhar minhas descobertas aqui também. Fiz algumas pesquisas sobre saída lsof personalizada e descobri que

lsof's internal formatting options are quite restrictive ...

No entanto, depois de ler na página do manual sobre OUTPUT , SAÍDA PARA OUTROS PROGRAMAS e em outro discussões Aprendi a excluir tipos de descritores de arquivos (FD) certificados, ou seja,

lsof -u ${USER} -a -d "^mem,^cwd,^rtd,^txt"

ou como limitar a saída lsof a apenas FDs numéricos, ou seja,

lsof -u ${USER} -a -d "0-999999"

Para listar apenas FDs numéricos para um ID de processo (PID) específico e para processamento adicional em outro programa, usei a seguinte abordagem

lsof -p ${PID} -a -d "0-999999" -Ff

Ainda não criei e testei para números maiores de FDs, mas talvez ajude a coletar todos os descritores nos quais você está interessado.

    
por 03.05.2018 / 10:09

Tags