Naučite se uporabljati ukaz fuser s primeri v Linuxu


Ena najpomembnejših nalog pri upravljanju sistemov Linux je upravljanje procesov. Vključuje več operacij pod nadzorom, signalizacijo in določanje prioritet procesov v sistemu.

Obstaja veliko orodij/pripomočkov za Linux, namenjenih spremljanju/obdelavi procesov, kot je killall, lepo skupaj z mnogimi drugimi.

V tem članku bomo razkrili, kako najti procese z iznajdljivim pripomočkom Linux, imenovanim fuser.

fuser je preprost, a zmogljiv pripomoček za ukazno vrstico, namenjen iskanju procesov na podlagi datotek, imenikov ali vtičnic, do katerih ima dostop določen postopek. Skratka, uporabniku sistema pomaga prepoznati procese z uporabo datotek ali vtičnic.

Kako uporabljati topilnik v sistemih Linux

Običajna sintaksa za uporabo topilnika je:

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

Spodaj je nekaj primerov uporabe topilnika za iskanje procesov v vašem sistemu.

Zagon fuser-ukaza brez kakršne koli možnosti bo prikazal PID-je procesov, ki trenutno dostopajo do vašega trenutnega delovnega imenika.

$ fuser .
OR
$ fuser /home/tecmint

Za podrobnejši in jasnejši izhod omogočite -v ali --verbose , kot sledi. Na izhodu fuser izpiše ime trenutnega imenika, nato stolpce lastnika procesa (USER), ID procesa (PID), vrsto dostopa (ACCESS) in ukaz (COMMAND), kot na spodnji sliki.

$ fuser -v

V stolpcu DOSTOP boste videli vrste dostopa, označene z naslednjimi črkami:

  1. c - trenutni imenik
  2. e - izvedljiva datoteka, ki se izvaja
  3. f - odprta datoteka, f pa je v izhodu izpuščen
  4. F - odprta datoteka za pisanje, F je prav tako izključen iz izhoda
  5. r - korenski imenik
  6. m - datoteka ali knjižnica v skupni rabi

Nato lahko določite, kateri procesi dostopajo do vaše datoteke ~ .bashrc tako:

$ fuser -v -m .bashrc

Možnost -m NAME ali --mount NAME pomeni poimenovanje vseh procesov, ki dostopajo do datoteke NAME. Če imenik črkujete kot NAME, se spontano spremeni v NAME/, da uporabi kateri koli datotečni sistem, ki je morda nameščen v tem imeniku.

V tem razdelku bomo nadaljevali z uporabo topilnika za ubijanje in pošiljanje signalov procesom.

Če želite ubiti procese, ki dostopajo do datoteke ali vtičnice, uporabite možnost -k ali --kill tako:

$ sudo fuser -k .

Če želite interaktivno ubiti postopek, v katerem vas prosijo, da potrdite svojo namero, da ubijete procese, ki dostopajo do datoteke ali vtičnice, uporabite možnost -i ali --interactive :

$ sudo fuser -ki .

Prejšnja dva ukaza bosta uničila vse procese, ki dostopajo do vašega trenutnega imenika, privzeti signal, ki se pošlje procesom, je SIGKILL, razen kadar je uporabljena -SIGNAL.

Vse signale lahko navedete z možnostmi -l ali --list-signal , kot je prikazano spodaj:

$ sudo fuser --list-signals 

Zato lahko pošljete signal procesom kot v naslednjem ukazu, kjer je SIGNAL kateri koli signal, naveden v zgornjem izhodu.

$ sudo fuser -k -SIGNAL

Ta spodnji ukaz na primer pošlje signal HUP vsem procesom, ki imajo odprt imenik /boot .

$ sudo fuser -k -HUP /boot 

Poskusite prebrati stran z navodili za topilnik, kjer najdete napredne možnosti uporabe, dodatne in podrobnejše informacije.

Za zdaj je to. V spodnjem oddelku za povratne informacije nas lahko kontaktirate za kakršno koli pomoč, ki jo morda potrebujete, ali predloge, ki jih želite dati.