Hoe de Linux Fuser Opdracht Te Gebruiken

Inleiding

De fuser opdracht is een Linux-hulpprogramma dat is ontworpen om te achterhalen welk proces een gegeven bestand, map of socket gebruikt. Het biedt ook informatie over de gebruiker die dat proces bezit en uitvoert, en het type toegang.

Hoe de fuser-hulpprogramma te gebruiken

U kunt de fuser handleiding raadplegen om een overzicht te krijgen van alle opties die met fuser kunnen worden gebruikt. U kunt ook fuser zelf uitvoeren zonder enige opties om een overzicht te krijgen van de syntaxis van fuser:

  1. fuser
Output
No process specification given Usage: fuser [-fMuv] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] NAME... fuser -l fuser -V Show which processes use the named files, sockets, or filesystems. -a,--all display unused files too -i,--interactive ask before killing (ignored without -k) -k,--kill kill processes accessing the named file -l,--list-signals list available signal names -m,--mount show all processes using the named filesystems or block device -M,--ismountpoint fulfill request only if NAME is a mount point -n,--namespace SPACE search in this name space (file, udp, or tcp) -s,--silent silent operation -SIGNAL send this signal instead of SIGKILL -u,--user display user IDs -v,--verbose verbose output -w,--writeonly kill only processes with write access -V,--version display version information -4,--ipv4 search IPv4 sockets only -6,--ipv6 search IPv6 sockets only - reset options udp/tcp names: [local_port][,[rmt_host][,[rmt_port]]]

Hoe processen die worden uitgevoerd in een map te bekijken

fuser kan ook worden gebruikt met de -v optie, die het hulpprogramma in de uitgebreide modus uitvoert. De uitgebreide optie wordt gebruikt om meer uitvoer te produceren zodat de gebruiker kan observeren wat fuser doet. Voer fuser uit in de huidige map, ., terwijl u de -v optie toevoegt:

  1. fuser -v .
Output
USER PID ACCESS COMMAND /home/sammy: sammy 17604 ..c.. bash

In dit geval is het enige proces dat wordt uitgevoerd in deze map de interactieve bash-shell waaruit je nu commando’s uitvoert.

Wanneer uitgevoerd in de uitgebreide modus, geeft het fuser-hulpprogramma informatie over de USER, PID, ACCESS en COMMAND van een proces. Het c-teken onder ACCESS toont het type toegang, wat in dit geval betekent de current-map. Er zijn andere soorten toegang, zoals executable dat wordt uitgevoerd, root-map, geopend file, en mapped-bestand of gedeelde bibliotheek.

Hoe processen vinden die netwerksockets gebruiken

U moet mogelijk ook processen opzoeken die TCP- en UDP-sockets gebruiken. Om dit voorbeeld te demonstreren, gebruikt u eerst nc om een TCP-ontvanger op poort 8002 te maken, zodat er een actief proces is dat u kunt observeren:

  1. nc -l -p 8002

Dit zal de terminal blokkeren zolang het actief is. In een ander terminalvenster gebruikt u fuser om het proces te vinden dat op TCP-poort 8002 wordt uitgevoerd met de optie -n:

  1. fuser -v -n tcp 8002
Output
USER PID ACCESS COMMAND 8002/tcp: sammy 17985 F.... nc

Let op: Standaard controleert het fuser-gereedschap zowel IPv4- als IPv6-sockets, maar u kunt dit wijzigen met de opties -4 en -6 om alleen IPv4- of alleen IPv6-verbindingen te controleren, respectievelijk.

Deze uitvoer toont dat het proces-id (PID) van het proces dat netcat gebruikt 17985 is en het commando waarmee het is gestart ‘nc’ is. Het proces-id (PID) kan op vele manieren worden gebruikt, waaronder om een lopend proces te stoppen of te beëindigen. U kunt meer leren over procesbeheer door Hoe ps, kill en nice te gebruiken om processen te beheren in Linux te lezen. U kunt ook fuser zelf gebruiken om processen die op specifieke poorten draaien te beëindigen met behulp van de -k vlag:

  1. fuser -k 8002/tcp
Output
8002/tcp: 18056

Als u terugkeert naar uw eerste terminalvenster, zult u merken dat het programma nc is beëindigd en teruggekeerd naar de shell.

Het hulpprogramma fuser kan ook worden gebruikt om specifieke signalen naar een proces te sturen. Wanneer het wordt gebruikt met de -k optie, stuurt het fuser-commando het KILL-signaal naar een proces. Er zijn veel andere signalen die naar een specifiek lopend proces kunnen worden gestuurd. U kunt deze lijsten met fuser -l:

  1. fuser -l
Output
HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS

Conclusie

In dit artikel heeft u enkele voorbeeldgebruiken van fuser geleerd om in gebruik zijnde poorten en mappen op een Linux-systeem te controleren. fuser kan bijzonder nuttig zijn wanneer u probeert te begrijpen welke onbekende processen mogelijk op uw systeem worden uitgevoerd.

Volgende, wilt u misschien leren hoe u netstat en du gebruikt om andere serverresources te controleren.

Source:
https://www.digitalocean.com/community/tutorials/how-to-use-the-linux-fuser-command