Wyszukiwanie w witrynie

Dowiedz się, jak używać polecenia „fuser” z przykładami w systemie Linux


Jednym z najważniejszych zadań w administrowaniu systemami Linux jest zarządzanie procesami. Polega na monitorowaniu kilku operacji, sygnalizowaniu procesów oraz ustalaniu priorytetów procesów w systemie.

Istnieje wiele narzędzi/narzędzi linuksowych przeznaczonych do monitorowania/obsługi procesów, takich jak top, ps, pgrep, kill, killall, nice w połączeniu z wieloma innymi.

W tym artykule dowiemy się, jak znaleźć procesy za pomocą pomysłowego narzędzia Linux o nazwie fuser.

Sugerowana lektura: Znajdź najczęściej działające procesy według największego użycia pamięci i procesora

fuser to proste, ale potężne narzędzie wiersza poleceń, przeznaczone do lokalizowania procesów na podstawie plików, katalogów lub gniazd, do których uzyskuje dostęp określony proces. Krótko mówiąc, pomaga użytkownikowi systemu identyfikować procesy za pomocą plików lub gniazd.

Jak korzystać z utrwalacza w systemach Linux

Konwencjonalna składnia użycia utrwalacza jest następująca:

fuser [options] [file|socket]
fuser [options] -SIGNAL [file|socket]
fuser -l 

Poniżej znajduje się kilka przykładów wykorzystania utrwalacza do lokalizowania procesów w systemie.

Znajdź proces uzyskujący dostęp do katalogu

Uruchomienie polecenia fuser bez żadnej opcji spowoduje wyświetlenie PID procesów uzyskujących aktualnie dostęp do bieżącego katalogu roboczego.

fuser .
OR
fuser /home/tecmint

Aby uzyskać bardziej szczegółowe i przejrzyste dane wyjściowe, włącz -v lub --verbose w następujący sposób. Na wyjściu fuser wypisuje nazwę bieżącego katalogu, następnie kolumny właściciela procesu (USER), identyfikator procesu (PID) , typ dostępu (ACCESS) i polecenie (COMMAND) jak na obrazku poniżej.

fuser -v

W kolumnie DOSTĘP zobaczysz typy dostępu oznaczone następującymi literami:

  1. c – bieżący katalog
  2. e – uruchamiany plik wykonywalny
  3. f – otwórz plik, jednak na wyjściu pominięto f
  4. F – plik otwarty do zapisu, F również jest wykluczony z wyniku
  5. r – katalog główny
  6. m – plik zmapowany lub biblioteka współdzielona

Znajdź proces uzyskujący dostęp do systemu plików

Następnie możesz określić, które procesy uzyskują dostęp do Twojego pliku ~.bashrc w następujący sposób:

fuser -v -m .bashrc

Opcja -m NAZWA lub --mount NAME oznacza nadanie nazwy wszystkim procesom uzyskującym dostęp do pliku NAME. Jeśli wpiszesz katalog jako NAME, zostanie on spontanicznie zmieniony na NAME/, aby użyć dowolnego systemu plików, który jest ewentualnie zamontowany w tym katalogu.

Sugerowana lektura: Znajdź 15 procesów o największym zużyciu pamięci w systemie Linux

Jak zabijać i sygnalizować procesy za pomocą utrwalacza

W tej sekcji omówimy użycie fuser do zabijania i wysyłania sygnałów do procesów.

Aby zabić procesy uzyskujące dostęp do pliku lub gniazda, użyj opcji -k lub --kill w następujący sposób:

sudo fuser -k .

Aby interaktywnie zabić proces, gdy zostaniesz poproszony o potwierdzenie zamiaru zakończenia procesów uzyskujących dostęp do pliku lub gniazda, użyj opcji -i lub --interactive:

sudo fuser -ki .

Dwa poprzednie polecenia zabiją wszystkie procesy uzyskujące dostęp do bieżącego katalogu. Domyślnym sygnałem wysyłanym do procesów jest SIGKILL, z wyjątkiem sytuacji, gdy używany jest -SIGNAL .

Sugerowana lektura: Przewodnik po poleceniach Kill, Pkill i Killall w systemie Linux

Możesz wyświetlić listę wszystkich sygnałów, używając opcji -l lub --list-signals, jak poniżej:

sudo fuser --list-signals 

Dlatego możesz wysłać sygnał do procesów jak w następnym poleceniu, gdzie SIGNAL to dowolny z sygnałów wymienionych w powyższym wyniku.

sudo fuser -k -SIGNAL

Na przykład poniższe polecenie wysyła sygnał HUP do wszystkich procesów, które mają otwarty katalog /boot.

sudo fuser -k -HUP /boot 

Spróbuj przeczytać stronę podręcznika utrwalacza, aby poznać zaawansowane opcje użytkowania oraz dodatkowe i bardziej szczegółowe informacje.

Na razie to wszystko. Możesz skontaktować się z nami za pomocą poniższej sekcji opinii, aby uzyskać pomoc, której potrzebujesz lub sugestie, które chcesz przekazać.