Lær hvordan du bruker 'fuser'-kommando med eksempler i Linux
En av de viktigste oppgavene i Linux-systemadministrasjon er prosessledelse. Det involverer flere operasjoner under overvåking, signaleringsprosesser samt å sette prosessprioriteringer på systemet.
Det er mange Linux-verktøy/verktøy designet for overvåking/håndtering av prosesser som topp, ps, pgrep, kill, killall, nice kombinert med mange andre.
I denne artikkelen skal vi avdekke hvordan du finner prosesser ved å bruke et ressurssterkt Linux-verktøy kalt fuser.
Foreslått lesing: Finn de mest kjørende prosessene etter høyeste minne- og CPU-bruk
fuser er et enkelt, men kraftig kommandolinjeverktøy beregnet på å finne prosesser basert på filene, katalogene eller kontakten en bestemt prosess har tilgang til. Kort sagt, det hjelper en systembruker å identifisere prosesser ved hjelp av filer eller sockets.
Hvordan bruke fuser i Linux-systemer
Den konvensjonelle syntaksen for bruk av fuser er:
fuser [options] [file|socket]
fuser [options] -SIGNAL [file|socket]
fuser -l
Nedenfor er noen eksempler på bruk av fuser for å finne prosesser på systemet ditt.
Finn hvilken prosess som får tilgang til en katalog
Hvis du kjører kommandoen fuser uten noe alternativ, vises PID-ene for prosesser som for øyeblikket har tilgang til den gjeldende arbeidskatalogen din.
fuser .
OR
fuser /home/tecmint
For en mer detaljert og tydelig utgang, aktiver -v
eller --verbose
som følger. I utdataene skriver fuser ut navnet på gjeldende katalog, deretter kolonnene til prosesseieren (USER), prosess-ID (PID) , tilgangstypen (ACCESS) og kommandoen (COMMAND) som i bildet nedenfor.
fuser -v
Under TILGANG-kolonnen vil du se tilgangstyper merket med følgende bokstaver:
c
– gjeldende kataloge
– en kjørbar fil som kjøresf
– åpen fil, men f er utelatt i utdataeneF
– åpen fil for skriving, F er også ekskludert fra utdataener
– rotkatalogm
– mmap’et fil eller delt bibliotek
Finn hvilken prosess som får tilgang til et filsystem
Deretter kan du bestemme hvilke prosesser som får tilgang til ~.bashrc
-filen din slik:
fuser -v -m .bashrc
Alternativet -m
NAME eller --mount
NAME betyr navngi alle prosesser som har tilgang til filen NAME. I tilfelle du staver ut katalogen som NAME, endres den spontant til NAME/
, for å bruke et hvilket som helst filsystem som muligens er montert på den katalogen.
Foreslått lesing: Finn de 15 beste prosessene etter minnebruk i Linux
Hvordan drepe og signalisere prosesser ved hjelp av fuser
I denne delen skal vi jobbe gjennom å bruke fuser for å drepe og sende signaler til prosesser.
For å drepe en prosess som får tilgang til en fil eller socket, bruk -k
eller --kill
-alternativet slik:
sudo fuser -k .
For interaktivt å drepe en prosess, der du blir bedt om å bekrefte intensjonen din om å drepe prosessene som får tilgang til en fil eller socket, bruk -i
eller --interactive
alternativet:
sudo fuser -ki .
De to foregående kommandoene vil drepe alle prosesser som får tilgang til din nåværende katalog, standardsignalet som sendes til prosessene er SIGKILL, bortsett fra når -SIGNAL brukes .
Foreslått lesing: En guide til Kill-, Pkill- og Killall-kommandoer i Linux
Du kan liste alle signalene ved å bruke -l
eller --list-signals
alternativene som nedenfor:
sudo fuser --list-signals
Derfor kan du sende et signal til prosesser som i neste kommando, hvor SIGNAL er et av signalene som er oppført i utgangen ovenfor.
sudo fuser -k -SIGNAL
For eksempel sender denne kommandoen nedenfor HUP-signalet til alle prosesser som har /boot
-katalogen åpen.
sudo fuser -k -HUP /boot
Prøv å lese gjennom man-siden for fuser for avanserte bruksalternativer, mer og mer detaljert informasjon.
Det er det for nå, du kan nå oss ved hjelp av tilbakemeldingsdelen nedenfor for all hjelp du trenger eller forslag du ønsker å komme med.