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.