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:
-
c
- trenutni imenik -
e
- izvedljiva datoteka, ki se izvaja -
f
- odprta datoteka, f pa je v izhodu izpuščen -
F
- odprta datoteka za pisanje, F je prav tako izključen iz izhoda -
r
- korenski imenik -
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.