Zoeken op website

Leer hoe u de opdracht 'fuser' gebruikt met voorbeelden in Linux


Een van de belangrijkste taken in het Linux-systeembeheer is procesbeheer. Het omvat verschillende handelingen onder toezicht, het signaleren van processen en het instellen van procesprioriteiten op het systeem.

Er zijn talloze Linux-tools/hulpprogramma's ontworpen voor het monitoren/afhandelen van processen zoals top, ps, pgrep, kill, killall, nice in combinatie met vele andere.

In dit artikel zullen we ontdekken hoe je processen kunt vinden met behulp van een vindingrijk Linux-hulpprogramma genaamd fuser.

Voorgesteld lezen: Vind de best lopende processen op basis van het hoogste geheugen- en CPU-gebruik

fuser is een eenvoudig maar krachtig opdrachtregelhulpprogramma bedoeld om processen te lokaliseren op basis van de bestanden, mappen of sockets waartoe een bepaald proces toegang heeft. Kortom, het helpt een systeemgebruiker processen te identificeren met behulp van bestanden of sockets.

Hoe u de fuser gebruikt in Linux-systemen

De conventionele syntaxis voor het gebruik van fuser is:

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

Hieronder vindt u enkele voorbeelden van het gebruik van fuser om processen op uw systeem te lokaliseren.

Zoek welk proces toegang krijgt tot een directory

Als u de opdracht fuser uitvoert zonder enige optie, worden de PID's weergegeven van processen die momenteel toegang hebben tot uw huidige werkmap.

fuser .
OR
fuser /home/tecmint

Voor een meer gedetailleerde en duidelijke uitvoer schakelt u -v of --verbose als volgt in. In de uitvoer drukt fuser de naam van de huidige map af, gevolgd door de kolommen van de proceseigenaar (USER), proces-ID (PID) , het toegangstype (ACCESS) en opdracht (COMMAND) zoals in de onderstaande afbeelding.

fuser -v

Onder de kolom TOEGANG ziet u de toegangstypen die worden aangegeven met de volgende letters:

  1. c – huidige map
  2. e – een uitvoerbaar bestand dat wordt uitgevoerd
  3. f – open bestand, maar f wordt weggelaten in de uitvoer
  4. F – open bestand om te schrijven, F wordt eveneens uitgesloten van de uitvoer
  5. r – hoofdmap
  6. m – mmap-bestand of gedeelde bibliotheek

Zoek welk proces toegang heeft tot een bestandssysteem

Vervolgens kunt u als volgt bepalen welke processen toegang hebben tot uw ~.bashrc bestand:

fuser -v -m .bashrc

De optie -m NAME of --mount NAME betekent dat alle processen die toegang hebben tot het bestand NAME een naam krijgen. Als u de directory als NAME beschrijft, wordt deze spontaan gewijzigd in NAME/, om elk bestandssysteem te gebruiken dat mogelijk in die directory is aangekoppeld.

Voorgesteld lezen: Vind de top 15 processen op basis van geheugengebruik in Linux

Hoe processen te beëindigen en te signaleren met behulp van de fuser

In deze sectie zullen we werken met het gebruik van fuser om processen te doden en signalen naar processen te sturen.

Om processen die toegang hebben tot een bestand of socket te beëindigen, gebruikt u de optie -k of --kill als volgt:

sudo fuser -k .

Om een proces interactief te beëindigen, waarbij u wordt gevraagd om uw intentie te bevestigen om de processen te beëindigen die toegang hebben tot een bestand of socket, maakt u gebruik van de optie -i of --interactive:

sudo fuser -ki .

De twee voorgaande commando's doden alle processen die toegang hebben tot uw huidige directory. Het standaardsignaal dat naar de processen wordt gestuurd is SIGKILL, behalve wanneer -SIGNAL wordt gebruikt .

Aanbevolen leesmateriaal: Een handleiding voor Kill-, Pkill- en Killall-opdrachten in Linux

Je kunt alle signalen weergeven met de opties -l of --list-signals, zoals hieronder:

sudo fuser --list-signals 

Daarom kunt u een signaal naar processen sturen, zoals in het volgende commando, waarbij SIGNAL een van de signalen is die in de bovenstaande uitvoer worden vermeld.

sudo fuser -k -SIGNAL

Dit commando hieronder stuurt bijvoorbeeld het HUP-signaal naar alle processen waarvoor de map /boot geopend is.

sudo fuser -k -HUP /boot 

Probeer de manpagina van fuser door te lezen voor geavanceerde gebruiksopties en aanvullende en meer gedetailleerde informatie.

Dat was het voor nu. U kunt ons bereiken via het feedbackgedeelte hieronder voor alle hulp die u nodig heeft of voor suggesties die u wilt doen.