lsof

lsof
Oryginalni autorzy Victor A. Abell
Wersja stabilna
4,98,0 / 22 stycznia 2023 ; 36 dni temu ( 2023-01-22 )
Magazyn github.com/lsof-org/lsof _ _ _
Napisane w C
System operacyjny Linux , FreeBSD , macOS , Solaris , NetBSD i OpenBSD
Platforma Międzyplatformowe
Licencja Kompatybilny z licencją BSD
Strona internetowa lsof .readthedocs .io  Edit this on Wikidata

lsof to polecenie oznaczające „wyświetl listę otwartych plików”, które jest używane w wielu systemach uniksopodobnych do zgłaszania listy wszystkich otwartych plików i procesów, które je otworzyły. To typu open source zostało opracowane i wspierane przez Victora A. Abella, emerytowanego zastępcę dyrektora Purdue University Computing Center. Działa i obsługuje kilka odmian Uniksa.

Zamiennik Linuksa, lsfd , jest zawarty w util-linux .

Przykłady

Otwarte pliki w systemie obejmują pliki dyskowe, nazwane potoki , gniazda sieciowe i urządzenia otwierane przez wszystkie procesy. Jednym z zastosowań tego polecenia jest sytuacja, gdy dysku nie można odmontować, ponieważ używane są (nieokreślone) pliki. Listę otwartych plików można przejrzeć (w razie potrzeby odpowiednio przefiltrować), aby zidentyfikować proces korzystający z plików.




 #  lsof /var  POLECENIE PID UŻYTKOWNIK FD TYP URZĄDZENIE ROZMIAR/WYŁĄCZ NAZWA WĘZŁA  syslogd 350 root 5w VREG 222,5 0 440818 /var/adm/messages  syslogd 350 root 6w VREG 222,5 339098 6248 /var/log/syslog  cron 353 root cwd VDIR 222,5 512 254550 /var -- atjobs 

Aby wyświetlić port powiązany z demonem:

 #  lsof -i -n -P  |  grep sendmail  sendmail 31649 root 4u IPv4 521738 TCP *:25 (SŁUCHAJ) 

Z powyższego widać, że „sendmail” nasłuchuje na swoim standardowym porcie „25”.

-i
Wyświetla listę gniazd IP.
-n
Nie tłumacz nazw hostów (bez DNS).
-P
Nie tłumacz nazw portów (podaj numer portu zamiast jego nazwy).

Można również wyświetlić listę gniazd Unix za pomocą lsof -U .

Wyjście Lsof

Wyjście lsof opisuje:

  • numer identyfikacyjny procesu (PID), który otworzył plik;
  • numer identyfikacyjny grupy procesów (PGID) procesu (nieobowiązkowo);
  • numer identyfikacyjny procesu nadrzędnego (PPID) (opcjonalnie);
  • polecenie wykonywane przez proces;
  • właściciel procesu;
  • dla wszystkich plików używanych przez proces, w tym wykonującego się pliku tekstowego i bibliotek współdzielonych, z których korzysta:
    • numer deskryptora pliku, jeśli dotyczy;
    • tryb dostępu do pliku;
    • status blokady pliku;
    • numery urządzeń pliku;
    • numer i-węzła pliku;
    • rozmiar pliku lub przesunięcie;
    • nazwa systemu plików zawierającego plik;
    • wszelkie dostępne składniki nazwy ścieżki pliku;
    • nazwy komponentów strumienia pliku;
    • lokalny i zdalny adres sieciowy pliku;
    • stan pliku w sieci TLI (zwykle UDP);
    • stan TCP, długość kolejki odczytu i długość kolejki zapisu pliku;
    • długość odczytu i zapisu okna TCP pliku (tylko Solaris); I
    • inne wartości specyficzne dla pliku lub dialektu.

Pełną listę opcji znajdziesz na stronie podręcznika Lsof(8) Linux

Zobacz też

Linki zewnętrzne