Aflați cum să utilizați comanda Fuser cu exemple în Linux
Una dintre cele mai importante sarcini în administrarea sistemelor Linux este managementul proceselor. Acesta implică mai multe operațiuni sub monitorizare, procese de semnalizare, precum și stabilirea priorităților proceselor pe sistem.
Există numeroase instrumente/utilități Linux concepute pentru monitorizarea/tratarea proceselor, cum ar fi killall, nice împreună cu multe altele.
În acest articol, vom descoperi cum să găsim procese folosind un utilitar Linux ingenios numit fuser.
fuser este un utilitar de linie de comandă simplu, dar puternic, menit să localizeze procesele pe baza fișierelor, directoarelor sau soclului pe care un anumit proces îl accesează. Pe scurt, ajută un utilizator de sistem să identifice procesele folosind fișiere sau socket-uri.
Cum se utilizează fuzorul în sistemele Linux
Sintaxa convențională pentru utilizarea fuser este:
# fuser [options] [file|socket] # fuser [options] -SIGNAL [file|socket] # fuser -l
Mai jos sunt câteva exemple de utilizare a fuserului pentru a localiza procesele din sistemul dvs.
Găsiți ce proces accesează un director
Rularea comenzii fuser fără nicio opțiune va afișa PID-urile ale proceselor care accesează în prezent directorul de lucru curent.
$ fuser . OR $ fuser /home/tecmint
Pentru o ieșire mai detaliată și mai clară, activați -v
sau --verbose
după cum urmează. În rezultat, fuser tipărește numele directorului curent, apoi coloanele proprietarului procesului (USER), ID-ului procesului (PID) , tipul de acces (ACCES) și comanda (COMANDĂ) ca în imaginea de mai jos.
$ fuser -v
Sub coloana ACCES, veți vedea tipurile de acces indicate de următoarele litere:
c
– directorul curente
– un fișier executabil rulatf
– deschideți fișierul, totuși, f este omis în rezultatF
– deschideți fișierul pentru scriere, F este de asemenea exclus din rezultatr
– director rădăcinăm
– fișier mmap’ed sau bibliotecă partajată
Găsiți ce proces accesează un sistem de fișiere
Apoi, puteți determina ce procese accesează fișierul dvs. ~.bashrc
astfel:
$ fuser -v -m .bashrc
Opțiunea, -m
NAME sau --mount
NAME înseamnă denumirea tuturor proceselor care accesează fișierul NAME. În cazul în care scrieți un director ca NUME, acesta este schimbat spontan în NUME/
, pentru a utiliza orice sistem de fișiere care este posibil montat pe acel director.
Cum să omorâți și să semnalizați procesele folosind un fuzor
În această secțiune, vom lucra la utilizarea fuser pentru a distruge și a trimite semnale către procese.
Pentru a distruge un proces care accesează un fișier sau un socket, utilizați opțiunea -k
sau --kill
astfel:
$ sudo fuser -k .
Pentru a opri interactiv un proces, în cazul în care vi se cere să vă confirmați intenția de a opri procesele care accesează un fișier sau un socket, utilizați opțiunea -i
sau --interactive
:
$ sudo fuser -ki .
Cele două comenzi anterioare vor ucide toate procesele care accesează directorul curent, semnalul implicit trimis proceselor este SIGKILL, cu excepția cazului în care se folosește -SIGNAL .
Puteți enumera toate semnalele folosind opțiunile -l
sau --list-signals
după cum urmează:
$ sudo fuser --list-signals
Prin urmare, puteți trimite un semnal către procese ca în următoarea comandă, unde SIGNAL este oricare dintre semnalele enumerate în rezultatul de mai sus.
$ sudo fuser -k -SIGNAL
De exemplu, această comandă de mai jos trimite semnalul HUP către toate procesele care au directorul /boot
deschis.
$ sudo fuser -k -HUP /boot
Încercați să citiți pagina de manual fuser pentru opțiuni avansate de utilizare, informații suplimentare și mai detaliate.
Asta este deocamdată, ne puteți contacta prin intermediul secțiunii de feedback de mai jos pentru orice asistență de care aveți nevoie sau sugestii pe care doriți să le faceți.