Léiert wéi Dir Fuser Kommando mat Beispiller am Linux benotzt


Eng vun de wichtegsten Aufgaben an der Linux Systemadministratioun, ass Prozessmanagement. Et involvéiert verschidde Operatiounen ënner Iwwerwaachung, Signaliséierungsprozesser wéi och d'Prozesser Prioritéite um System setzen.

Et gi vill Linux Tools/Utilities entworf fir Iwwerwaachung/Ëmgank Prozesser wéi Killall, flott gekoppelt mat vill anerer.

An dësem Artikel wäerte mir entdecken wéi Dir Prozesser fannt mat engem ressourcevollen Linux Utility genannt Fuser.

fuser ass en einfachen awer mächtege Kommandozeil-Utility geduecht fir Prozesser ze lokaliséieren baséiert op de Fichieren, Verzeechnes oder Socket e bestëmmte Prozess zougräift. Kuerz gesot, et hëlleft engem System Benotzer Prozesser mat Dateien oder Sockets z'identifizéieren.

Wéi benotzen ech Fuser a Linux Systemer

Déi konventionell Syntax fir Fuser ze benotzen ass:

# fuser [options] [file|socket]
# fuser [options] -SIGNAL [file|socket]
# fuser -l 

Drënner sinn e puer Beispiller fir Fuser ze benotzen fir Prozesser op Ärem System ze lokaliséieren.

Fuserbefehl auszeféieren ouni Optioun weist d'PIDs vu Prozesser déi aktuell Zougang zu Ärem aktuellen Aarbechtsverzeechnes hunn.

$ fuser .
OR
$ fuser /home/tecmint

Fir eng méi detailléiert a kloer Ausgab, aktivéiert -v oder --verbose wéi follegt. Am Ausgang dréckt de Fuser den Numm vum aktuellen Verzeechnes aus, duerno Kolonnen vum Prozessbesëtzer (USER), Prozess ID (PID), Zougangstyp (ZOUGANG) a Kommando (COMMAND) wéi am Bild hei drënner.

$ fuser -v

Ënnert der ACCESS Kolonn gesitt Dir Zougangstypen, déi mat de folgende Buschtawen bezeechent ginn:

  1. c – aktuelle Verzeichnis
  2. e – eng ausführbar Datei déi leeft
  3. f - oppen Datei, awer f gëtt am Ausgang ausgelooss
  4. F – oppen Datei fir ze schreiwen, F ass och aus der Ausgab ausgeschloss
  5. r – Root Verzeechnes
  6. m – mmmapéiert Datei oder gedeelt Bibliothéik

Als nächst kënnt Dir feststellen wéi eng Prozesser op Är ~.bashrc Datei kommen wéi esou:

$ fuser -v -m .bashrc

D'Optioun, -m NAME oder --mount NAME heescht all Prozesser nennen, déi op d'Datei NAME kommen. Am Fall wou Dir e Verzeechnes als NAME ausschreift, gëtt et spontan op NAME/ geännert, fir all Dateiesystem ze benotzen deen eventuell op deem Verzeichnis montéiert ass.

An dëser Sektioun wäerte mir duerch Fuser schaffen fir Signaler op Prozesser ëmzebréngen an ze schécken.

Fir e Prozess ëmzebréngen, deen Zougang zu enger Datei oder Socket kritt, benotzt d'Optioun -k oder --kill wéi esou:

$ sudo fuser -k .

Fir interaktiv e Prozess ëmzebréngen, wou Dir gefrot sidd Är Absicht ze bestätegen fir d'Prozesser déi Zougang zu enger Datei oder Socket kréien, benotzt -i oder --interactive Optioun:

$ sudo fuser -ki .

Déi zwee virdrun Kommandoen ëmbréngen all Prozesser déi Zougang zu Ärem aktuellen Verzeechnes hunn, de Standardsignal, deen un d'Prozesser geschéckt gëtt, ass SIGKILL, ausser wann -SIGNAL benotzt gëtt.

Dir kënnt all d'Signaler oplëschten mat den Optiounen -l oder --list-signals wéi hei ënnendrënner:

$ sudo fuser --list-signals 

Dofir kënnt Dir e Signal op Prozesser schécken wéi am nächste Kommando, wou SIGNAL ee vun de Signaler ass, déi am Ausgang uewen opgezielt sinn.

$ sudo fuser -k -SIGNAL

Zum Beispill schéckt dëse Kommando hei drënner den HUP-Signal un all Prozesser déi Äre /boot Verzeichnis op hunn.

$ sudo fuser -k -HUP /boot 

Probéiert duerch d'Fuser Man Säit ze liesen fir fortgeschratt Benotzungsoptiounen, zousätzlech a méi detailléiert Informatioun.

Dat ass et fir de Moment, Dir kënnt eis duerch d'Feedback Sektioun hei ënnen erreechen fir all Hëllef déi Dir eventuell braucht oder Virschléi déi Dir maache wëllt.