Manpages

NAMN

fuser - identifiera processer som använder filer eller uttag

SYNOPSIS

fuser [-fuv] [-a|-s] [-4|-6] [-c|-m|-n utrymme] [ -k [-i] [-M] [-w] [-SIGNAL] ] namn ...
fuser -l
fuser -V

BESKRIVNING

fuser visar PID:arna för processor som använder den angivna filerna eller filsystemen. I standardvisningsläge kommer varje filnamn att åtföljas av en bokstav som visar typen av åtkomst:

c

aktuell katalog.

e

körbar fil körs.

f

fil öppen. f utelämnas i standardvisningsläge.

F

öppen för skrivning. F utelämnas i standardvisningsläge.

r

rotkatalog.

m

mmap:pad fil eller delat bibliotek.

.

Platshållare, utelämnas i standardvisningsläge.

fuser returnerar en returkod som inte är noll om ingen av de angivna filerna används eller vid ett fatalt fel. Om åtminstone en åtkomst hittats kommer fuser att returnera noll.

För att slå upp processer som använder TCP- och UDP-uttag måste motsvarande namnrymd väljas med flaggan -n. Som standard kommer fuser att leta bland både IPv6- och IPv4-uttag. För att förändra standardbeteendet, använd flaggorna -4 och -6. Uttagen kan anges antingen efter lokal eller fjärrport och fjärradressen. Alla fält är valfria, men komman i början av fält som saknas måste finnas:

[lkl_port][,[fjr_värd][,[fjr_port]]]

Endera symboliska eller numeriska värden kan användas för IP-adresser och portnummer.

fuser matar endas ut PID:ar till standard ut, allting annat skickas till standard fel.

FLAGGOR

-a, --all

Visa alla filer angivna på kommandoraden. Som standard visas endast filer som används av åtminstone en process.

-c

Samma som flaggan -m, används för POSIX-kompatibilitet.

-f

Ignoreras tyst, används för POSIX-kompatibilitet.

-k, --kill

Döda processer som kommer åt filen. Om det inte ändrats med -SIGNAL, så skickas SIGKILL. En fuser process dödar aldrig sig själv, men kan döda andra fuser-processer. Det effektiva användar-ID:t för processen som kör fuser sätts till dess riktiga användar-ID innan försök att döda.

-i, --interactive

Fråga användaren om bekräftelse innan en process dödas. Denna flagga ignoreras tyst om -k saknas.

-I, --inode

För namnrymden file låt alla jämförelser baseras på inoderna för de angivna filerna och aldrig på filnamnen, gäller även för nätverksbaserade filsystem.

-l, --list-signals

Lista alla kända signaler.

-m NAMN, --mount NAMN

NAMN anger en fil på ett monterat filsystem eller en blockenhet som är monterad. Alla processer som använder filer på det filsystemet listas. Om en katalog inte anges, ändras den automatiskt till NAMN/ för att använda eventuellt filsystem som monterats på den katalogen.

the shortcut notation

Begäran kommer att uppfyllas om NAMN anger en monteringspunkt. Detta är ett ovärderligt säkerhetsbälte vilket förhindrar sig från att döda maskinen om NAMN inte råkas vara ett filsystem.

-w

Döda endast processer som har skrivåtkomst. Denna flagga ignoreras tyst om -k saknas.

-n NAMNRYMD, --namespace NAMNRYMD

Välj en annan namnrymd. Namnrymderna file (filnamn, standardvärdet), udp (lokala UDP-portar) och tcp (lokala TCP-portar) stöds. För portar kan antingen portnumret eller det symboliska namnet anges. Om det inte finns tvetydighet kan kortbeteckningen namn/rymd användas (t.ex. 80/tcp).

-s, --silent

Tyst läge. -u och -v ignoreras i detta läge. -a kan inte användas tillsammans med -s.

-SIGNAL

Använd den angivna signalen istället för SIGKILL då processer dödas. Signaler kan ange antingen med namn (t.ex. -HUP) eller med nummer (t.ex. -1). Denna flagga ignoreras tyst om flaggan -k inte används.

-u, --user

Lägg till användarnamnet för processägaren till varje PID.

-v, --verbose

Utförligt läge. Processer visas i en ps-liknande stil. Fälten PID, USER och COMMAND liknar de från ps. ACCESS visar hur processen använder filen. Utförligt läge kommer också att visa när en särskild fil används som en monteringspunkt, knfs exportering eller speglingsfil. I detta fall visas kernel istället för PID:en.

-V, --version

Visa versionsinformation.

-4, --ipv4

SökSök endast efter IPv4-uttag. Denna flagga kan inte användas tillsammans med flaggan -6 och påverkar bara tcp- och udp-namnrymderna.

-6, --ipv6

Sök endast efter IPv6-uttag. Denna flagga kan inte användas tillsammans med flaggan -4 och påverkar bara tcp- och udp-namnrymderna.

FILER

/proc

plats för proc-filsystemet

EXEMPEL

fuser -km /home

dödar alla processer som använder filsystemet /home på något sätt.

if fuser -s /dev/ttyS1; then :; else kommando; fi

kör kommando om inga andra processer använder /dev/ttyS1.

fuser telnet/tcp

visar alla processer på den (lokala) TELNET-porten.

BEGRÄNSNINGAR

Processer som använder samma fil eller filsystem flera gånger på samma sätt visas endast en gång.

Om samma objekt anges flera gånger på kommandoraden, kommer vissa av de posterna att ignoreras.

fuser kanska bara kan samla ihop partiell information om det körs utan privilegier. Som en konsekvens kanske filer öppnade av processer som tillhör andra användare inte komma att listas och körbara filer kanske endast klassificeras som mappade.

fuser kan inte rapportera processor som det inte har tillåtelse att titta på fildeskriptortabellen för. Det mest frekventa tillfället då detta problem uppstår är när man letar efter TCP- eller UDP-uttag och fuser inte körs som root-användare. I detta fall kommer fuser inte att rapportera någon användning.

Att installera fuser som SUID root kommer att undvika problem associerade med ofullständig information, men kan vara oönskat av säkerhets- och sekretesskäl.

udp- och tcp-namnrymder och UNIX-domänuttag kan inte genomsökas med kärnor äldre än 1.3.78.

Åtkomst av kärnan visas endast med flaggan -v.

Flaggan -k fungerar endast för processer. Om användaren är kärnan kommer fuser att skriva ut en rekommendation, men inte genomföra någon åtgärd utöver det.

fuser kommer inte att se blockenheter monterade av processer i en annan monteringsnamnrymd. Detta är på grund av att enhets-ID:t som visas i processens fildeskriptortabell kommer från processnamnrymden, inte fusers; vilket innebär att de inte matchar.

FEL

fuser -m /dev/sgX kommer att visa (eller döda med -k-flaggan) alla processer även om du inte har den enheten konfigurerad. Det kan finnas ytterligare enheter detta gäller.

Monteringsflaggan -m kommer att matcha alla filer inom samma enhet som den angivna filen, använd även flaggan -M om det endast menar att ange monteringspunkten.

fuser will not match mapped files, such as a process’ shared libraries if they are on a btrfs(5) filesystem due to the device IDs being different for stat(2) and /proc/<PID>/maps.

SE VIDARE

kill(1), killall(1), stat(2), btrfs(5), lsof(8), mount_namespaces(7), pkill(1), ps(1), kill(2).