FUSER(1)

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

SKŁADNIA
fuser [-a|-s] [-4|-6] [-n przestrzeń_nazw] [-sygnał] [-kimuv] nazwa_pliku ...
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.

    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, fuser zwraca zero.

Aby móc wyszukać procesy używające soketów TCP lub UDP, trzeba za pomocą opcji -n wybrać odpowiednią przestrzeń nazw. Domyślnie, fuser będzie szukał zarówno soketów IPv6, jak i soketów IPv4. Aby to zmienić, należy użyć opcji -4 i -6. Soket(y) może (mogą) być określony(-ne) 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_komp][,[port_zdalny]]] Adresy IP oraz numery portów mogą być podane albo w postaci symbolicznej, albo jako numery.

OPCJE

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

-k  Ubija procesy korzystające z pliku. Jeśli nie jest użyta opcja -sygnał, wysyłany jest SIGKILL. Proces fuser nigdy sam siebie nie ubije, lecz może ubić inne procesy fuser. Przed próbą ubicia efektywny ID użytkownika procesu jest ustawiany na rzeczywisty.

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

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

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

-n przestrzeń_nazw
    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ń_nazw (np. nazwa/protokół).

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

-sygnał
    zamiast SIGKILL używaj określonego sygnału. Sygnały można podawać według nazw (np. -HUP) lub przez liczbę (np. -1).

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

-v  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. Jeżeli plik jest używany przez jądro systemu (np. w wypadku punktu montowania, pliku wymiany itp.), wartością tego pola jest kernel.

-V  Wyświetla informację o wersji.

-4  Wyszukuje tylko sokety 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  Wyszukuje tylko sokety 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.

-   Resetuj wszystkie opcje i ustaw sygnał z powrotem na SIGKILL.

PLIKI
/proc	miejsce znajdowania się systemu plików proc

PRZYKŁADY
fuser -km /home ubija 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.

fuser jest w stanie uzyskać tylko częściowe dane, chyba że pracujesz z odpowiednimi uprawnieniami. W wyniku tego, 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 sokety domeny UNIX nie mogą być wyszukiwane, jeżeli wersja jądra jest mniejsza niż 1.3.78.

Obecnie udp i tcp działają z IPv6 i IPv4, ale jako adresy są wyświetlane tylko adresy IPv4.

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.

AUTOR
Werner Almesberger <Werner.Almesberger@epfl.ch>

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