Naučite kako koristiti naredbu 'fuser' s primjerima u Linuxu


Jedan od najvažnijih zadataka u administraciji Linux sistema je upravljanje procesima. Uključuje nekoliko operacija pod nadzorom, procese signalizacije kao i postavljanje prioriteta procesa u sistemu.

Postoje brojni Linux alati/uslužni programi dizajnirani za praćenje/rukovanje procesima kao što su top, ps, pgrep, kill, killall, nice zajedno sa mnogim drugima.

U ovom članku ćemo otkriti kako pronaći procese pomoću snalažljivog Linux uslužnog programa pod nazivom fuser.

Preporučeno čitanje: Pronađite najbolje pokrenute procese prema najvećoj upotrebi memorije i CPU-a

fuser je jednostavan, ali moćan uslužni program komandne linije namijenjen za lociranje procesa na osnovu datoteka, direktorija ili utičnice kojoj određeni proces pristupa. Ukratko, pomaže korisniku sistema da identifikuje procese koristeći datoteke ili utičnice.

Kako koristiti fuzer u Linux sistemima

Konvencionalna sintaksa za korištenje fusera je:

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

Ispod je nekoliko primjera korištenja fusera za lociranje procesa na vašem sistemu.

Pronađite koji proces pristupa direktoriju

Pokretanje naredbe fuser bez ikakve opcije će prikazati PID-ove procesa koji trenutno pristupaju vašem trenutnom radnom direktoriju.

fuser .
OR
fuser /home/tecmint

Za detaljniji i jasniji izlaz, omogućite -v ili --verbose kako slijedi. U izlazu, fuser ispisuje ime trenutnog direktorija, zatim stupce vlasnika procesa (USER), ID procesa (PID) , tip pristupa (ACCESS) i naredbu (COMMAND) kao na slici ispod.

fuser -v

U koloni PRISTUP vidjet ćete tipove pristupa označene sljedećim slovima:

  1. c – trenutni direktorij
  2. e – izvršna datoteka koja se pokreće
  3. f – otvori datoteku, međutim, f je izostavljen u izlazu
  4. F – otvoren fajl za pisanje, F je također isključen iz izlaza
  5. r – korijenski direktorij
  6. m – mmapovana datoteka ili dijeljena biblioteka

Pronađite koji proces pristupa sistemu datoteka

Zatim možete odrediti koji procesi pristupaju vašoj datoteci ~.bashrc na sljedeći način:

fuser -v -m .bashrc

Opcija, -m NAME ili --mount NAME znači ime svih procesa koji pristupaju datoteci NAME. U slučaju da napišete direktorij kao NAME, on se spontano mijenja u NAME/, kako bi se koristio bilo koji sistem datoteka koji je eventualno montiran na tom direktoriju.

Preporučeno čitanje: Pronađite top 15 procesa po korištenju memorije u Linuxu

Kako ubiti i signalizirati procese pomoću fuzera

U ovom odjeljku ćemo raditi na korištenju fusera za ubijanje i slanje signala procesima.

Da biste ugasili procese koji pristupaju datoteci ili socketu, koristite opciju -k ili --kill na sljedeći način:

sudo fuser -k .

Da biste interaktivno ugasili proces, gdje se od vas traži da potvrdite svoju namjeru da prekinete procese koji pristupaju datoteci ili soketu, koristite opciju -i ili --interactive:

sudo fuser -ki .

Dvije prethodne naredbe će ubiti sve procese koji pristupaju vašem trenutnom direktoriju, zadani signal koji se šalje procesima je SIGKILL, osim kada se koristi -SIGNAL .

Preporučeno čitanje: Vodič za Kill, Pkill i Killall komande u Linuxu

Možete navesti sve signale koristeći opcije -l ili --list-signals kao u nastavku:

sudo fuser --list-signals 

Stoga možete poslati signal procesima kao u sljedećoj naredbi, gdje je SIGNAL bilo koji od signala navedenih u izlazu iznad.

sudo fuser -k -SIGNAL

Na primjer, ova naredba u nastavku šalje HUP signal svim procesima koji imaju otvoren vaš /boot direktorij.

sudo fuser -k -HUP /boot 

Pokušajte pročitati man stranicu fuser za napredne opcije korištenja, dodatne i detaljnije informacije.

To je to za sada, možete nas kontaktirati putem odjeljka za povratne informacije u nastavku za svaku pomoć koja vam je potrebna ili prijedloge koje želite da date.