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:
c
– huidige mape
– een uitvoerbaar bestand dat wordt uitgevoerdf
– open bestand, maar f wordt weggelaten in de uitvoerF
– open bestand om te schrijven, F wordt eveneens uitgesloten van de uitvoerr
– hoofdmapm
– 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.