table of contents
FUSER(1) | Användarkommandon | FUSER(1) |
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:
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).
2022-11-02 | psmisc |