FUSER(1)

NAZWA
fuser - podaje procesy korzystające z plików lub gniazd

SKŁADNIA
fuser [-fuv] [-a|-s] [-4|-6] [-c|-m|-n przestrzeń] [ -k [-i] [-M] [-w] [-SYGNAŁ] ] nazwa ...
fuser -l
fuser -V

OPIS
fuser wyświetla PID-y procesów, które korzystają z podanych plików lub systemów plików. W domyślnym trybie wyświetlania po każdej nazwie pliku występuje litera, oznaczająca rodzaj dostępu:

    c   bieżący katalog.
    e   uruchomiony plik wykonywalny.
    f   otwarty plik. f jest pomijane w domyślnym trybie wyświetlania.
    F   plik otwarty do zapisu. F jest pomijane w domyślnym trybie wyświetlania.
    r   katalog główny.
    m   mmap-owany plik lub biblioteka dzielona.

fuser zwraca niezerowy kod, jeśli nie można było dostać się do żadnego z plików lub po błędzie krytycznym. Jeśli udał się dostęp do choćby jednego pliku, to fuser zwraca zero.

Aby móc wyszukać procesy używające gniazd TCP lub UDP, trzeba za pomocą opcji -n wybrać odpowiednią przestrzeń nazw. Domyślnie fuser będzie szukać gniazd zarówno IPv6, jak i IPv4. Aby to zmienić, należy użyć opcji -4 i -6. Gniazda mogą być określone przez podanie portów lokalnego i zdalnego oraz zdalnego adresu. Wszystkie pola są nieobowiązkowe, trzeba jednak podać przecinki poprzedzające opuszczone pola:

[port_lokalny][,[zdalny_komputer][,[port_zdalny]]]

Adresy IP oraz numery portów mogą być podane albo w postaci symbolicznej, albo jako numery.

fuser wyświetla na standardowym wyjściu tylko identyfikatory procesów, wszystko inne jest wysyłane na standardowe wyjście błędów.

OPCJE

-a, --all
    Pokazuje wszystkie pliki podane w linii komend. Domyślnie pokazywane są tylko pliki, do których dostęp uzyskał przynajmniej jeden proces.

-c  To samo co opcja -m. Używane w celu zachowania kompatybilności z POSIX-em.

-f  Ignorowane. Używane w celu zachowania kompatybilności z POSIX-em.

-k, --kill
    Zabija procesy korzystające z pliku. Jeśli nie jest użyta opcja -SYGNAŁ, wysyłany jest SIGKILL. Proces fuser nigdy sam siebie nie zabije, lecz może zabić inne procesy fuser. Przed próbą zabicia, efektywny ID użytkownika procesu fuser jest ustawiany na rzeczywisty ID.

-i, --interactive
    Przed zabiciem procesu, prosi użytkownika o potwierdzenie. Opcja ta jest ignorowana, jeżeli nie podano opcji -k.

-l, --list-signals
    Wyświetla wszystkie znane nazwy sygnałów.

-m NAZWA, --mount NAZWA
    NAZWA określa plik na zamontowanym systemie plików lub zamontowane urządzenie blokowe. Wszystkie korzystające z niego procesy zostaną wypisane. Jeśli podany plik jest katalogiem, to zmieniany jest automatycznie na NAZWA/., aby używać dowolnego systemu plików, który mógłby być zamontowany w tym katalogu.

-M, --ismountpoint
    Żądanie będzie spełnione, jeśli NAZWA oznacza punkt montowania. Jest to nieoceniony pas bezpieczeństwa chroniący przed zabiciem maszyny, jeśli okazałoby się, że NAZWA nie jest systemem plików.

-w  Zabija tylko te procesy, które mają dostęp w trybie do zapisu. Opcja ta jest ignorowana, jeżeli nie podano opcji -k.

-n PRZESTRZEŃ, --namespace PRZESTRZEŃ
    Wybiera inną przestrzeń nazw. Dostępne są następujące przestrzenie nazw: file (nazwy plików, ustawienie domyślne), udp (lokalne porty UDP) i tcp (lokalne porty TCP). Porty mogą być podane w postaci nazw symbolicznych albo jako numery. Jeżeli nie spowoduje to dwuznaczności, można użyć skróconej notacji nazwa/przestrzeń (np. 80/tcp).

-s, --silent
    Ciche działanie. -u i -v są w tym trybie ignorowane. -a nie może być użyta z -s.

-SYGNAŁ
    Używa podanego sygnału zamiast SIGKILL do zabicia procesu. Sygnały można podawać albo za pomocą ich nazw (np. -HUP) lub przez liczbę (np. -1). Opcja jest ignorowana, jeśli nie podano opcji -k.

-u, --user
    Do każdego PID-a dodaj nazwę użytkownika, który jest jego właścicielem.

-v, --verbose
    Tryb gadatliwy. Procesy są pokazywane w stylu ps(1). Pola PID, USER i COMMAND są podobne do tych w ps. ACCESS pokazuje sposób dostępu do pliku. Tryb gadatliwy pokaże także pliki będące punktami montowania, eksportami knfs lub plikiem wymiany. W takim wypadku wartością pola PID będzie kernel.

-V, --version
    Wyświetla informację o wersji.

-4, --ipv4
    Wyszukuje tylko gniazda IPv4. Ta opcja nie może być używana łącznie z opcją -6, a używanie jej ma efekt tylko z przestrzeniami nazw tcp i udp.

-6, --ipv6
    Wyszukuje tylko gniazda IPv6. Ta opcja nie może być używana łącznie z opcją -4, a używanie jej ma efekt tylko z przestrzeniami nazw tcp i udp.

-   Resetuje wszystkie opcje i ustawia sygnał z powrotem na SIGKILL.

PLIKI

/proc
    położenie systemu plików proc

PRZYKŁADY

fuser -km /home
    zabija wszystkie procesy, które w jakikolwiek sposób korzystają z systemu plików /home.

if fuser -s /dev/ttyS1; then :; else coś; fi
    wywołuje coś, jeśli żaden inny proces nie używa /dev/ttyS1.

fuser telnet/tcp
    pokazuje wszystkie procesy nasłuchujące na (lokalnym) porcie TELNET.

OGRANICZENIA
Procesy korzystające z tych samych plików lub systemu plików kilkukrotnie są wyświetlane tylko raz.

Jeśli ten sam obiekt jest podany kilka razy w linii poleceń, to niektóre z tych wpisów mogą zostać zignorowane.

fuser jest w stanie uzyskać tylko częściowe dane, chyba że ma się odpowiednie uprawnienia. Dlatego otwarte pliki należące do innych użytkowników mogą nie być wymienione, a pliki wykonywalne mogą być sklasyfikowane jako tylko zmapowane.

Instalowanie fuser z SUID root zapobiegłoby problemom z częściowymi danymi, lecz mogłoby być niepożądane z przyczyn bezpieczeństwa.

Przestrzenie nazw udp i tcp oraz gniazda domeny UNIX nie mogą być wyszukiwane, jeżeli wersja jądra jest mniejsza niż 1.3.78.

Informacje o tym, że to jądro systemu używa jakiegoś pliku, są wyświetlane tylko wtedy, gdy podano opcję -v.

Opcja -k dotyczy tylko procesów. Jeżeli dany system plików używany jest przez jądro systemu, to fuser wypisze ostrzeżenia, ale nie podejmie żadnej akcji.

BŁĘDY

fuser -m /dev/sgX pokaże (lub zabije, jeśli podano opcję -k) wszystkie procesy, nawet jeśli to urządzenie nie zostało skonfigurowane. Mogą istnieć inne urządzenia, które zachowają się podobnie.

fuser nie może wyświetlić procesów, dla których nie ma praw do odczytu ich tabeli deskryptorów plików. Najczęściej ten problem występuje podczas wyszukiwania gniazd TCP lub UDP przez fuser uruchomiony nie przez administratora systemu. W takim przypadku fuser zgłosi brak dostępu.

Opcja montowania -m dopasuje każdy plik znajdujący się na tym samym urządzeniu, co podany plik. Należy również użyć opcji -M, aby zawęzić dopasowany tylko do podanego punktu montowania.

ZOBACZ TAKŻE
kill(1), killall(1), lsof(8), pkill(1), ps(1), kill(2).

TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek Borys (PTM) <pborys@dione.ids.pl>, Damian Szeluga (PTM) <damjanek@gentoo.pl> i Robert Luberda <robert@debian.org>.

Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją 22.21 oryginału.