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
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.