LSFD(1) Polecenia użytkownika LSFD(1)

lsfd - wypisuje deskryptory plików

lsfd [opcja]

lsfd ma być nowoczesnym zamiennikiem lsof(8) w systemach Linux. W przeciwieństwie do lsof, lsfd jest dostosowany do jądra Linux; obsługuje funkcje typowe dla Linuksa, takie jak przestrzenie nazw, używając prostszego kodu. lsfd nie zastępuje bezpośrednio lsof; różnią się interfejsem wiersza poleceń oraz formatami wyjściowymi.

Domyślne wyjście programu może się zmienić. Jeśli to możliwe, należy zatem unikać używania domyślnego wyjścia w swoich skryptach. Proszę zawsze jawnie definiować oczekiwane kolumny za pomocą opcji --output lista-kolumn w środowiskach, gdzie wymagane jest stabilne wyjście.

lsfd korzysta z Libsmartcols do filtrowania i formatowania wyjścia. W opisie opcji --output wskazano sposoby dostosowywania formatu wyjściowego, a w opisie opcji --filter filtrowanie. Polecenie lsfd --list-columns wypisze wszystkie dostępne kolumny.

-l, --threads

Wypisuje na poziomie wątków

-J, --json

Używa formatu wyjściowego JSON.

-n, --noheadings

Nie wyświetla nagłówków.

-o, --output lista

Określa kolumnę wyjściową do wyświetlenia. W rozdziale KOLUMNY WYJŚCIOWE opisano szczegółowo dostępne kolumny.

Domyślną listę kolumn można rozszerzyć, jeśli listę poda się w formacie +lista (np. lsfd -o +DELETED).

-r, --raw

Używa surowego formatu wyjściowego

--notruncate

Nie przycina tekstu w kolumnach.

-p, --pid lista

Zbiera informacje tylko dla określonych procesów. Lista jest listą identyfikatorów procesów (separatorem jest przecinek). Zob. PRZYKŁADY FILTRÓW.

-i[4|6], --inet[=4|=6]

Wypisuje tylko gniazda IPv4 i/lub IPv6.

-Q, --filter wyrażenie

Wypisuje tylko pliki pasujące do warunku reprezentowanego wyrażeniem. Zob. też scols-filter(5) i PRZYKŁADY FILTRÓW.

Opcja -Q wraz z identyfikatorem procesu (np. -Q PID==1) oraz opcja -p (np. -p 1) mogą posłużyć do uzyskania tego samego wyniku, jednak stosowanie opcji -p jest znacznie wydajniejsze, ponieważ działa ona na znacznie wcześniejszym stadium przetwarzania, niż opcja -Q.

-C, --counter etykieta:wyrażenie-filtra

Definiuje własny licznik stosowany w wyjściu --summary. lsfd tworzy licznik nazwany etykieta. Podczas zbierania informacji, lsfd zlicza pliki pasujące do wyrażenia-filtra i umieszcza wynik w liczniku nazwanym etykieta. Przed zliczaniem, lsfd stosuje filtry zdefiniowane opcją --filter; pliki wyłączone filtrami nie są zliczane.

Proszę zapoznać się podręcznikiem scols-filter(5), aby uzyskać informacje o wyrażeniu-filtra. Etykieta nie powinna zawierać znaków { i :. Można zdefiniować wiele liczników, podając tę opcję wielokrotnie. Zob. też PRZYKŁADY LICZNIKÓW.

--summary[=tryb]

Opcja kontroluje wypisywanie wierszy podsumowania. Opcjonalnym argumentem tryb może być only (wyłącznie), append (dołączaj) lub never (nigdy). Jeśli pominie się argument tryb, przyjmuje on wartość domyślną only.

Podsumowanie zgłasza liczniki. Licznik składa się z etykiety i wartości całkowitej. --counter jest opcją służącą do definiowania licznika. Jeśli użytkownik nie zdefiniuje licznika, lsfd użyje definicji predefiniowanych, wbudowanych liczników (domyślne liczniki), do tworzenia podsumowania wyjścia.

OSTRZEŻENIE: Korzystanie z --summary wraz z --json może spowodować nieprawidłowe wyjście. Prawidłowe jest jedynie łączenie --summary=only z --json.

--debug-filter

Zrzuca wewnętrzną strukturę danych filtra i wychodzi. Przydatne tylko dla rozwijających narzędzie lsfd.

--dump-counters

Zrzuca definicję liczników stosowanych w wyniku --summary.

--hyperlink[=kiedy]

Wypisuje ścieżki punktów montowań jako odnośniki na terminalu. Opcjonalny argument kiedy można ustawić na always (zawsze), never (nigdy) lub auto. Jeśli pominie się argument, to domyślnie przyjmuje wartość auto oznaczającą, że odnośniki będą używane tylko wtedy, gdy wyjściem jest terminal.

-H, --list-columns

Wypisuje kolumny, które można podać razem z opcją --output. Można stosować w połączeniu z --json lub --raw, aby uzyskać wynik w formacie czytelnym maszynowo.

-h, --help

Wyświetla ten tekst i wychodzi.

-V, --version

Wyświetla wersję i wychodzi.

ŚRODOWISKO

LIBSMARTCOLS_DEBUG=all

włącza wyjście debugowania libsmartcols.

LIBSMARTCOLS_DEBUG_PADDING=on

używa widocznych znaków wypełnienia.

Każda kolumna posiada typ. Typy są ograniczone znakami < i >.

OSTRZEŻENIE: Nazwy i typy kolumn nie są jeszcze stabilne. Mogą się zmienić w przyszłych wydaniach.

AINODECLASS <łańcuch>

Klasa anonimowego i-węzła.

ASSOC <łańcuch>

Powiązanie między plikiem i procesem.

BLKDRV <łańcuch>

Nazwa sterownika urządzenia blokowego przyznana przez /proc/devices.

BPF-MAP.ID <liczba>

Identyfikator mapy bpf.

BPF-MAP.TYPE <łańcuch>

Zdekodowana nazwy typu mapy bpf.

BPF-MAP.TYPE.RAW <liczba>

Typ mapy bpf (surowy).

BPF.NAME <łańcuch>

Nazwa obiektu bpf.

BPF-PROG.ID <liczba>

Identyfikator programu bpf.

BPF-PROG.TAG <łańcuch>

TAG programu bpf.

BPF-PROG.TYPE <łańcuch>

Zdekodowana nazwa typu programu bpf.

BPF-PROG.TYPE.RAW <liczba>

Typ programu bpf (surowy).

CHRDRV <łańcuch>

Nazwa sterownika urządzenia znakowego przyznana przez /proc/devices.

COMMAND <łańcuch>

Polecenie procesu otwierającego plik.

DELETED <wartość logiczna>

Osiągalność z systemu plików.

DEV <łańcuch>

Identyfikator urządzenia zawierającego plik.

DEVTYPE <łańcuch>

Typ urządzenia (blk, char lub nodev).

ENDPOINTS <łańcuch>

Informacje o końcówkach IPC skomunikowanych z deskryptorem pliku.

lsfd zbiera końcówki w procesach skanowanych przez lsfd; lsfd może pominąć pewne końcówki, jeśli ograniczy się procesy opcją -p.

Format kolumn zależy od obiektu powiązanego z deskryptorem pliku:

typ FIFO, typ mqueue, źródła ptmx i pts

PID,POLECENIE,POWIĄZANIE[-r][-w]

Ostatnie znaki ([-r][-w]) reprezentują tryb do odczytu i/lub do zapisu punktu końcowego.

typ eventfd

PID,POLECENIE,POWIĄZANIE

UNIX

Równoważne UNIX-STREAM.

W kontenerze, lsfd może nie wypełnić kolumny ENDPOINTS. Do zbierania informacji o końcówkach UNIX lsfd stosuje sock_diag(7). SELinux może ograniczyć używanie sock_diag w kontenerze. Można usunąć to ograniczenie ustawiając wartość logiczną virt_sandbox_use_netlink na 1. Więcej informacji w podręczniku container_selinux(8).

UNIX-STREAM

PID,POLECENIE,POWIĄZANIE[-r?][-w?]

Informacja o ostatnich znakach ([-r?][-w?]) znajduje się w opisie SOCK.SHUTDOWN.

EVENTFD.ID <liczba>

Identyfikator eventfd.

EVENTPOLL.TFDS <łańcuch>

Deskryptory plików wskazywane przez plik eventpoll.

FD <liczba>

Deskryptor pliku danego pliku.

FLAGS <łańcuch>

Znaczniki podane przy otwieraniu pliku.

FUID <liczba>

Numeryczny identyfikator użytkownika właściciela pliku.

INET.LADDR <łańcuch>

Lokalny adres IP.

INET.RADDR <łańcuch>

Zdalny adres IP.

INET6.LADDR <łańcuch>

Lokalny adres IP6.

INET6.RADDR <łańcuch>

Zdalny adres IP6.

INODE <liczba>

Numer i-węzła.

INOTIFY.INODES <łańcuch>

Wersja INOTIFY.INODES.RAW z ciasteczkiem. Format elementu to: numer-i-węzła,źródło-i-węzła.

INOTIFY.INODES.RAW <łańcuch>

Lista i-węzłów monitorowania. Format elementu to: numer-i-węzła,główny-numer-urządzenia:poboczny-numer-urządzenia.

KNAME <łańcuch>

Surowa nazwa pliku pozyskana z /proc/pid/fd/deskr-pl lub /proc/pid/map_files/region.

KTHREAD <wartość logiczna>

Czy proces jest wątkiem jądra, czy też nie.

MAJ:MIN <łańcuch>

Identyfikator urządzenia w przypadku pliku specjalnego lub identyfikator urządzenia zawierającego plik.

MAPLEN <liczba>

Długość mapowania pliku (w stronach).

MISCDEV <łańcuch>

Nazwa urządzenia znakowego misc rozwiązana przez /proc/misc.

MNTID <liczba>

Identyfikator montowania.

MODE <łańcuch>

Tryb dostępu (rwx) /r-odczyt, w-zapis, x-wykonanie/.

NAME <łańcuch>

Wersja KNAME z ciasteczkiem. Prawie to samo co KNAME.

Niektóre pliki mają specjalne formaty i źródła informacji:

AF_VSOCK

state=SOCK.STATE type=SOCK.TYPE laddr=VSOCK.LADDR[ raddr=VSOCK.RADDR]

raddr nie jest pokazywane dla nasłuchujących gniazd.

bpf-map

id=BPF-MAP.ID type=BPF-MAP.TYPE[ name=BPF.NAME]

bpf-prog

id=BPF-PROG.ID type=BPF-PROG.TYPE tag= BPF-PROG.TAG [ name=BPF.NAME]

eventpoll

tfds=EVENTPOLL.TFDS

eventfd

id=EVENTFD.ID

inotify

inodes=INOTIFY.INODES

misc:tun

iface=TUN.IFACE[ devnetns=TUN.DEVNETNS][ socknetns=SOCK.NETNS]

NETLINK

protocol=NETLINK.PROTOCOL[ lport=NETLINK.LPORT[ group=NETLINK.GROUPS]]

PACKET

type=SOCK.TYPE[ protocol=PACKET.PROTOCOL][ iface=PACKET.IFACE]

pidfd

pid=TARGET-PID comm=TARGET-COMMAND nspid=TARGET-NSPIDS

lsfd pozyskuje TARGET-PID i TARGET-NSPIDS z /proc/pid/fdinfo/deskr-pl.

PING

state=SOCK.STATE[ id=PING.ID][ laddr=INET.LADDR [ raddr=INET.RADDR]]

PINGv6

state=SOCK.STATE[ id=PING.ID][ laddr=INET6.LADDR [ raddr=INET6.RADDR]]

ptmx

tty-index=PTMX.TTY-INDEX

lsfd pozyskuje PTMX.TTY-INDEX z /proc/pid/fdinfo/deskr-pl.

RAW

state=SOCK.STATE[ protocol=RAW.PROTOCOL [ laddr=INET.LADDR [ raddr=INET.RADDR]]]

RAWv6

state=SOCK.STATE[ protocol=RAW.PROTOCOL [ laddr=INET6.LADDR [ raddr=INET6.RADDR]]]

signalfd

mask=SIGNALFD.MASK

TCP, TCPv6

state=SOCK.STATE[ laddr=TCP.LADDR [ raddr=TCP.RADDR]]

timerfd

clockid=TIMERFD.CLOCKID[ remaining=TIMERFD.REMAINING [ interval=TIMERFD.INTERVAL]]

UDP, UDPv6

state=SOCK.STATE[ laddr=UDP.LADDR [ raddr=UDP.RADDR]]

lsfd ukrywa raddr= jeśli UDP.RADDR wynosi 0.0.0.0 a UDP.RPORT wynosi 0.

UDP-LITE, UDPLITEv6

state=SOCK.STATE[ laddr=UDPLITE.LADDR [ raddr=UDPLITE.RADDR]]

UNIX-STREAM

state=SOCK.STATE[ path=UNIX.PATH]

UNIX

state=SOCK.STATE[ path=UNIX.PATH] type=SOCK.TYPE

Proszę zauważyć, że oznaczenia (deleted) są usuwane z tej kolumny. Aby poznać możliwość odczytu pliku z systemu plików proszę sprawdzić KNAME, DELETED, lub XMODE.

NETLINK.GROUPS <liczba>

Grupy multicastowe netlink.

NETLINK.LPORT <liczba>

Identyfikator lokalnego portu netlink.

NETLINK.PROTOCOL <łańcuch>

Protokół netlink.

NLINK <liczba>

Liczba dowiązań.

NS.NAME <łańcuch>

Nazwa (NS.TYPE:[INODE]) przestrzeni nazw określonej w pliku.

NS.TYPE <łańcuch>

Typ przestrzeni nazw podanej z plikiem. Typem jest mnt, cgroup, uts, ipc, user, pid, net, time lub unknown (nieznany).

OWNER <łańcuch>

Właściciel pliku.

PACKET.IFACE <łańcuch>

Nazwa interfejsu powiązana z gniazdem pakietu.

PACKET.PROTOCOL <łańcuch>

Nazwa protokołu L2 powiązana z gniazdem pakietu (zdekodowana).

PACKET.PROTOCOL.RAW <liczba>

Numer protokołu L2 powiązanego z gniazdem pakietu (surowy).

PARTITION <łańcuch>

Nazwa urządzenia blokowego przypisana przez /proc/partition.

PID <liczba>

PID procesu otwierającego plik.

PIDFD.COMM <łańcuch>

Polecenie procesu wskazywanego przez pidfd.

PIDFD.NSPID <łańcuch>

Wartość pola NSpid w /proc/pid/fdinfo/deskr-pl danego pidfd.

Cytat z pliku źródłowego kernel/fork.c Linuksa:

Jeśli obsługiwane są przestrzenie nazw pid, to funkcja ta wypisze również pid danego pidfd (deskryptora pliku) odnoszącego się do wszystkich potomnych przestrzeni nazw pid danego wystąpienia, rozpoczynających się od bieżącej przestrzeni nazw pid tj. pole Pid i pierwszy wpis w polu NSpid, będą identyczne.

Proszę zauważyć, że różni się to od pól Pid i NSpid w /proc/<pid>/status gdzie Pid i NSpid są pokazywane zawsze w odniesieniu do przestrzeni nazw pid wystąpienia procfs.

PIDFD.PID <liczba>

PID procesu wskazywanego przez pidfd (deskryptor pliku).

PING.ID <`liczba`>

Identyfikator żądania echo ICMP użyty w gnieździe PING.

POS <liczba>

Pozycja pliku.

RAW.PROTOCOL <łańcuch>

Nazwa protokołu surowego gniazda (zdekodowana).

Note

Typem danych tej kolumny była <liczba> pomiędzy v2.39 a v2.41.

RAW.PROTOCOL.RAW <liczba>

Numer protokołu surowego gniazda (surowy).

RDEV <łańcuch>

Identyfikator urządzenia (jeśli to plik specjalny).

SIGNALFD.MASK <łańcuch>

Zamaskowane sygnały.

SIZE <liczba>

Rozmiar pliku.

SOCK.LISTENING <wartość logiczna>

Gniazdo nasłuchujące.

SOCK.NETS <liczba>

I-węzeł identyfikujący sieciową przestrzeń nazw, do której przynależy gniazdo.

SOCK.PROTONAME <łańcuch>

Nazwa protokołu.

SOCK.SHUTDOWN <łańcuch>

Stan zamknięcia gniazda.

[-r?]

Jeśli pierwszym znakiem jest r, otrzymywanie jest dozwolone. Jeśli jest nim -, otrzymywanie jest niedozwolone. Jeśli jest nim ?, stan jest nieznany.

[-w?]

Jeśli drugim znakiem jest w, wysyłanie jest dozwolone. Jeśli jest nim -, wysyłanie jest niedozwolone. Jeśli jest nim ?, stan jest nieznany.

SOCK.STATE <łańcuch>

Stan gniazda.

SOCK.TYPE <łańcuch>

Typ gniazda. Przez typ rozumiemy tu drugi parametr wywołania systemowego gniazda:
•stream
•dgram
•raw
•rdm
•seqpacket
•dccp
•packet

SOURCE <łańcuch>

System plików, partycja lub urządzenie zawierające plik. W przypadku powiązań mających jako wartość kolumny TYPE łańcuch ERROR (błąd), lsfd wypełnia tę kolumnę wartością syscall:_errno_.

STTYPE <łańcuch>

Surowe typy pliku zwracane przez stat(2): BLK, CHR, DIR, FIFO, LINK, REG, SOCK lub UNKN.

TCP.LADDR <łańcuch>

Lokalny adres L3 (INET.LADDR lub INET6.LADDR) oraz lokalny port TCP.

TCP.LPORT <liczba>

Lokalny port TCP.

TCP.RADDR <łańcuch>

Zdalny adres L3 (INET.LADDR lub INET6.LADDR) oraz zdalny port TCP.

TCP.RPORT <liczba>

Zdalny port TCP.

TID <liczba>

Identyfikator wątku procesu otwierającego plik.

TIMERFD.CLOCKID <łańcuch>

Identyfikator czasomierza.

TIMERFD.INTERVAL <liczba>

Interwał.

TIMERFD.REMAINING <number>

Pozostały czas.

PTMX.TTY-INDEX <liczba>

Indeks TTY drugiej strony.

TUN.DEVNETNS <liczba>

I-węzeł identyfikujący sieciową przestrzeń nazw, do której przynależy urządzenie.

TUN.IFACE <łańcuch>

Interfejs sieciowy urządzenia tun.

TYPE <łańcuch>

Aplikacyjna wersja STTYPE. To samo co STTYPE z wyjątkami. W przypadku SOCK, wypisuje wartość SOCK.PROTONAME. W przypadku UNKN, wypisuje wartość AINODECLASS jeśli SOURCE wynosi anon_inodefs.

Jeśli lsfd otrzyma błąd przy wywołaniu wywołania systemowego, w celu uzyskania informacji o docelowym deskryptorze pliku, lsfd wypełni tę kolumnę dla danej pozycji łańcuchem ERROR.

UDP.LADDR <łańcuch>

Lokalny adres IP i lokalny port UDP.

UDP.LPORT <liczba>

Lokalny port UDP.

UDP.RADDR <łańcuch>

Zdalny adres IP i zdalny port UDP.

UDP.RPORT <liczba>

Zdalny port UDP.

UDPLITE.LADDR <łańcuch>

Lokalny adres IP i lokalny port UDPLite.

UDPLITE.LPORT <liczba>

Lokalny port UDP.

UDPLITE.RADDR <łańcuch>

Zdalny adres IP i zdalny port UDPLite.

UDPLITE.RPORT <liczba>

Zdalny port UDP.

UID <liczba>

Numer identyfikatora użytkownika.

UNIX.IPEER <liczba>

Numer i-węzła drugiej strony gniazda domeny Uniksa.

Jeśli lsfd działa w kontenerze, może nie wypełnić kolumny UNIX.IPEER. Więcej szczegółów w opisie UNIX w kolumnie ENDPOINTS.

UNIX.PATH <łańcuch>

Ścieżka systemu plików gniazda domeny uniksowej.

USER <łańcuch>

Użytkownik procesu.

VSOCK.LADDR <łańcuch>, VSOCK.RADDR <łańcuch>

Lokalny adres VSOCK. Formatem tego elementu jest VSOCK.LCID:VSOCK.LPORT.

Znane CID-y zostaną zdekodowane: “*”, “hypervisor”, “local” i “host”. Znane porty zostaną zdekodowane: “*”.

VSOCK.LCID <liczba>, VSOCK.RCID <liczba>

Lokalny oraz zdalny identyfikator kontekstu VSOCK.

VSOCK.LPORT <liczba>, VSOCK.RPORT <liczba>

Lokalny oraz zdalny port VSOCK.

XMODE <łańcuch>

Rozszerzona wersja MODE. Kolumna ta może się w przyszłości powiększać; nowe litery mogą być dodane do XMODE gdy lsfd zyska obsługę nowego stanu deskryptora pliku i/lub mapowania pamięci.

[-r]

otwarcie mapowania do odczytu. Występuje też w MODE.

[-w]

otwarcie mapowania do zapisu. Występuje też w MODE.

[-x]

zmapowany do wykonania kodu. Występuje też w MODE.

[-D]

usunięty z systemu plików. Zob. też DELETED.

[-Ll]

zablokowany lub wydzierżawiony. l reprezentuje blokadę odczytu lub blokadę dzieloną lub dzierżawę odczytu.L reprezentuje blokadę zapisu lub blokadę na wyłączność lub dzierżawę zapisu. Jeśli zarówno blokady lub dzierżawy odczytu/dzielone jak i zapisu/na wyłączność są zajęte przez deskryptor plików, jako flaga stosowane jest L.

[-m]

Zwielokrotniony (multiplexed). Jeśli deskryptor pliku jest celem pliku eventpoll albo klasycznych wywołań systemowych zwielokrotniania (select(2), pselect(2), poll(2) i ppoll(2)), ustawiana jest ta flaga bitowa. Proszę zauważyć, że jeśli przywołanie klasycznego wywołania systemowego zostanie przerwane, może nie dojść do oznaczenia przez lsfd jako m deskryptora pliku monitorowanego przez przywołanie. Zob. restart_syscall(2).

PRZYKŁADY FILTRÓW

lsfd posiada kilka opcji filtrowania. Zwykle wystarczy znajomość opcji -Q (lub --filter). W połączeniu z opcją -o (lub --output) można dostosować wyjście do swoich potrzeb.

Wypisuje pliki związane z procesami PID 1 i PID 2

# lsfd -Q '(PID == 1) or (PID == 2)'

To samo, w inny sposób:

# lsfd -Q '(PID == 1) || (PID == 2)'

To samo, wydajniej:

# lsfd --pid 1,2

Zamiast przecinków można zastosować białe znaki:

# lsfd --pid '1 2'

Wykorzystuje pidof(1) do wypisania plików związanych z programem "firefox":

# lsfd --pid "$(pidof firefox)"

Wypisuje pierwszy deskryptor pliku otwartego przez proces PID 1:

# lsfd -Q '(PID == 1) and (FD == 1)'

To samo, w inny sposób:

# lsfd -Q '(PID == 1) && (FD == 1)'

Wypisuje wszystkie działające pliki wykonywalne:

# lsfd -Q 'ASSOC == "exe"'

To samo, w inny sposób:

# lsfd -Q 'ASSOC eq "exe"'

To samo, ale wypisując tylko nazwy plików:

# lsfd -o NAME -Q 'ASSOC eq "exe"' | sort -u

Wypisuje usunięte pliki związane z procesami:

# lsfd -Q 'DELETED'

Wypisuje pliki inne niż zwykłe:

# lsfd -Q 'TYPE != "REG"'

Wypisuje urządzenia blokowe:

# lsfd -Q 'DEVTYPE == "blk"'

To samo, używając kolumny TYPE:

# lsfd -Q 'TYPE == "BLK"'

Wypisuje pliki zawierające katalog "dconf" w swoich nazwach:

# lsfd -Q 'NAME =~ ".\*/dconf/.*"'

Wypisuje pliki otwarte w maszynie wirtualnej QEMU:

# lsfd -Q '(COMMAND =~ ".\*qemu.*") and (FD >= 0)'

Wypisuje pliki timerfd wygasające w ciągu 0,5 sekundy

# lsfd -Q '(TIMERFD.remaining < 0.5) and (TIMERFD.remaining > 0.0)'

Wypisuje procesy komunikujące się za pomocą gniazd strumieni uniksowych:

# lsfd  -Q 'TYPE == "UNIX-STREAM" && UNIX.PATH =~ ".+"' -oUNIX.PATH,PID,COMMAND,FD,SOCK.STATE,ENDPOINTS

Wypisuje procesy komunikujące się za pomocą danego gniazda strumienia uniksowego:

# lsfd  -Q 'TYPE == "UNIX-STREAM" && UNIX.PATH == "@/tmp/.X11-unix/X0"' -oUNIX.PATH,PID,COMMAND,FD,SOCK.STATE,ENDPOINTS

PRZYKŁADY LICZNIKÓW

Zgłasza liczbę deskryptorów gniazd netlink oraz deskryptorów gniazd uniksowych:

# lsfd --summary=only \
        -C 'netlink sockets':'(NAME =~ "NETLINK:.*")' \
        -C 'unix sockets':'(NAME =~ "UNIX:.*")'
VALUE COUNTER
   57 netlink sockets
 1552 unix sockets

To samo, lecz wypisuje w formacie JSON:

# lsfd --summary=only --json \
        -C 'netlink sockets':'(NAME =~ "NETLINK:.*")' \
        -C 'unix sockets':'(NAME =~ "UNIX:.*")'
{
   "lsfd-summary": [
      {
         "value": 15,
         "counter": "netlink sockets"
      },{
         "value": 798,
         "counter": "unix sockets"
      }
   ]
}

Polecenie lsfd jest częścią pakietu util-linux od v2.38.

Masatake YAMATO <yamato@redhat.com>, Karel Zak <kzak@redhat.com>

bpftool(8), bps(8), lslocks(8), lsof(8), pidof(1), proc(5), scols-filter(5), socket(2), ss(8), stat(2), vsock(7)

Problemy należy zgłaszać w systemie śledzenia błędów https://github.com/util-linux/util-linux/issues.

Polecenie lsfd jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux https://www.kernel.org/pub/linux/utils/util-linux/.

2026-09-02 util-linux 2.42.3