fuser - identifică procesele care utilizează fișiere sau
socluri
fuser [
-fuv] [
-a|
-s] [
-4|
-6]
[
-c|
-m|
-n spațiu_nume] [
-k
[
-i] [
-M] [
-w] [
-SEMNAL] ]
nume ...
fuser -l
fuser -V
fuser afișează PID-urile proceselor care utilizează
fișierele sau sistemele de fișiere specificate. În modul
de afișare implicit, fiecare nume de fișier este urmat de o
literă care indică tipul de acces:
- c
- directorul curent.
- e
- executabil în curs de executare.
- f
- fișier deschis.. f este omis în modul
de afișare implicit.
- F
- fișier deschis pentru scriere. F este omis
în modul de afișare implicit.
- r
- directorul rădăcină.
- m
- fișier alocat cu «mmap» sau
bibliotecă partajată.
- .
- Substituent, omis în modul de afișare
implicit.
fuser returnează un cod de returnare diferit de zero dacă
niciunul dintre fișierele specificate nu este accesat sau în
cazul unei erori fatale. Dacă a fost găsit cel puțin un
fișier accesat,
fuser returnează zero.
Pentru a căuta procese folosind socluri TCP și UDP, spațiul
de nume corespunzător trebuie să fie selectat cu opțiunea
-n. În mod implicit,
fuser va căuta atât
în soclurile IPv6, cât și în soclurile IPv4.
Pentru a modifica comportamentul implicit, utilizați opțiunile
-4 și
-6. Soclurile pot fi specificate prin portul local
și de la distanță și prin adresa de la
distanță. Toate câmpurile sunt opționale, dar
virgulele din fața câmpurilor lipsă trebuie să fie
prezente:
[
port_local][,[
gazdă_rmt][,[
port_rmt]]]
notă: rmt = la distanță(remote)
Puteți utiliza fie valori simbolice, fie valori numerice pentru adresele
IP și numerele de porturi.
fuser afișează doar PID-urile la ieșirea standard,
orice altceva este trimis către ieșirea de eroare standard.
-
-a, --all
- Afișează toate fișierele specificate
în linia de comandă. În mod implicit, sunt
afișate doar fișierele care sunt accesate de cel
puțin un proces.
- -c
- La fel ca și opțiunea -m,
utilizată pentru compatibilitatea cu POSIX.
- -f
- Ignorată în tăcere, utilizată
pentru compatibilitatea cu POSIX.
-
-k, --kill
- Omoară procesele care accesează
fișierul. Cu excepția cazului în care este schimbat
cu opțiunea -SIGNAL, semnalul SIGKILL este semnalul
trimis procesului. Un proces fuser nu se omoară pe el
însuși niciodată, dar poate omorî alte procese
fuser. ID-ul de utilizator efectiv al procesului care
execută fuser este reamplasat cu ID-ul de utilizator real
înainte de a încerca să ucidă.
-
-i, --interactive
- Cere utilizatorului confirmarea înainte de a
omorî un proces. Această opțiune este ignorată
în tăcere dacă opțiunea -k nu este
deasemeni prezentă.
-
-I, --inode
- Pentru spațiul de nume fișier, toate
comparațiile trebuie să se bazeze pe nodul-i al
fișierelor specificate și niciodată pe numele
fișierelor, chiar și pe sistemele de fișiere bazate
pe rețea.
-
-l, --list-signals
- Listează toate numele semnalelor cunoscute.
-
-m NUME, --mount NUME
-
NUME specifică un fișier pe un sistem
de fișiere montat sau un dispozitiv bloc care este montat. Sunt
listate toate procesele care accesează fișierele din acel
sistem de fișiere. Dacă este specificat un director, acesta
este schimbat automat în NUME/ pentru a utiliza orice sistem
de fișiere care ar putea fi montat pe acel director.
-
-M, --ismountpoint
- Solicitarea va fi îndeplinită numai
dacă NUME specifică un punct de montare. Aceasta este
o centură de siguranță neprețuită care
vă împiedică să ucideți mașina
dacă NUME se întâmplă să nu fie
un sistem de fișiere.
- -w
- Omoară numai procesele care au acces de scriere.
Această opțiune este ignorată în tăcere
dacă opțiunea -k nu este deasemeni
prezentă.
-
-n SPAȚIU_NUME, --namespace
SPAȚIU_NUME
- Selectează un alt spațiu de nume. Sunt
acceptate spațiile de nume fișier (nume de
fișiere, implicit), udp (porturi UDP locale) și
tcp (porturi TCP locale). Pentru porturi, poate fi specificat fie
numărul portului, fie numele simbolic. Dacă nu există
ambiguitate, poate fi folosită notația scurtă
nume /spațiu (de exemplu,
80/tcp).
-
-s, --silent
- Funcționare silențioasă.
Opțiunile -u și -v sunt ignorate în
acest mod. Opțiunea -a nu trebuie să fie
utilizată cu opțiunea -s.
-
-SEMNAL
- Utilizează semnalul specificat în loc de
SIGKILL atunci când omoară procesele. Semnalele pot fi
specificate fie după nume (de exemplu, -HUP), fie
după număr (de exemplu, -1). Această
opțiune este ignorată în tăcere dacă nu
este utilizată opțiunea -k.
-
-u, --user
- Adaugă numele de utilizator al proprietarului
procesului la fiecare PID.
-
-v, --verbose
- Modul informație-detaliată. Procesele sunt
afișate într-un stil asemănător comenzii
ps. Câmpurile PID, UTILIZATOR și COMANDĂ sunt
similare cu cele ale ps. ACCES arată modul în care
procesul accesează fișierul. Modul
informație-detaliată va afișa, de asemenea,
când un anumit fișier este accesat ca punct de montare,
export knfs sau fișier de schimb. În acest caz,
kernel este afișat în loc de PID.
-
-V, --version
- Afișează informațiile despre
versiune.
-
-4, --ipv4
- Caută doar socluri IPv4. Această
opțiune nu trebuie utilizată cu opțiunea -6
și are efect doar cu spațiile de nume tcp și
udp.
-
-6, --ipv6
- Caută doar socluri IPv6. Această
opțiune nu trebuie utilizată cu opțiunea -4
și are efect doar cu spațiile de nume tcp și
udp.
- /proc
- locația sistemului de fișiere proc
- fuser -km /home
- omoară toate procesele care accesează
sistemul de fișiere /home în orice fel (citire, scriere,
creare, .. etc.).
-
if fuser -s /dev/ttyS1; then :; else
comanda; fi
- invocă comanda dacă niciun alt proces
nu utilizează /dev/ttyS1.
- fuser telnet/tcp
- afișează toate procesele de la portul (local)
TELNET.
Procesele care accesează același fișier sau sistem de
fișiere de mai multe ori în același mod sunt
afișate o singură dată.
Dacă același obiect este specificat de mai multe ori în
linia de comandă, unele dintre aceste intrări pot fi ignorate.
fuser poate obține doar informații parțiale, cu
excepția cazului în care rulează cu privilegii. În
consecință, fișierele deschise de procese
aparținând altor utilizatori pot să nu fie listate
și executabilele pot să fie clasificate doar ca asociate cu
fișierul.
fuser nu poate raporta niciun proces pentru care nu are permisiunea de a
căuta în tabelul descriptor al fișierului. Cel mai
frecvent caz în care apare această problemă este atunci
când se caută socluri TCP sau UDP în timp ce
fuser
rulează ca utilizator non-root. În acest caz,
fuser va
raporta că nu există acces.
Instalarea lui
fuser cu SUID root va evita problemele asociate cu
informațiile parțiale, dar poate fi nedorită din motive
de securitate și confidențialitate.
Spațiile de nume
udp și
tcp și soclurile de
domeniu UNIX nu pot fi căutate cu nuclee mai vechi de 1.3.78.
Accesările de către nucleu sunt afișate doar cu
opțiunea
-v.
Opțiunea
-k funcționează numai asupra proceselor.
Dacă utilizatorul este nucleul,
fuser va afișa un sfat,
dar nu va lua nicio măsură în afară de aceasta.
fuser nu va vedea dispozitivele bloc montate de procese într-un
spațiu de nume de montare diferit. Acest lucru se datorează
faptului că ID-ul dispozitivului afișat în tabelul
descriptor al fișierului procesului provine din spațiul de nume
al procesului, nu din cel al «fuser»; adică nu se va
potrivi.
fuser -m /dev/sgX va afișa (sau va ucide cu opțiuneal
-k) toate procesele, chiar dacă nu aveți acel dispozitiv
configurat. Pot exista și alte dispozitive pentru care face acest
lucru.
Opțiunea de montare
-m se va potrivi cu orice fișier din
același dispozitiv cu fișierul specificat, utilizați
și opțiunea
-M dacă doriți să
specificați doar punctul de montare.
kill(1),
killall(1),
lsof(8),
mount_namespaces(7),
pkill(1),
ps(1),
kill(2).