Fuser
Sissejuhatus
Antud artikkel on kirjutatud aine "Operatsioonisüsteemide administreerimine ja sidumine" aine raames eesmärgiga anda ülevaade Linux/Unixi põhistes operatsioonisüsteemides kasutatavast käsust fuser. Programm fuser on hea abimees Linux süsteemi administreerimisel, kuna ta võimaldab uurida protsesse, mis mingit faili on avanud või mingit failisüsteemi kasutavad. Samuti käsk fuser annab informatsiooni protsessi omanikust ja juurdepääsu tüübist.
Käsu format ja võtmete kirjeldused 4.6
# fuser [options] [file|socket] # fuser [options] -SIGNAL [file|socket] # fuser -l
Mõned fuser võtmed: (4)
-a,--all näitab kõik failid (ka mittekasutatavad) -i,--interactive interaktiivne, reziim, küsib kinnitus enne protsessi lõpetamist (tapmist) (ei toimi ilma -k) -k,--kill tapab protsessi, mis kasutab antud faili -l,--list-signals näitab olemasolevate signaalide nimed -n SPACE, --namespace SPACE Select a different name space. The name spaces file (file names, the default), udp (local UDP ports), and tcp (local TCP ports) are supported. For ports, either the port number or the symbolic name can be specified. If there is no ambiguity, the shortcut notation name/space (e.g. 80/tcp) can be used. -u,--user näitab kasutaja ID -v,--verbose näitab detailsemat kirjeldust väljundile. -w,--writeonly tapab ainult kirjutamisõigusega protsesse -V,--version kuvab versiooni infot
Täpsemat infot fuser parameetrite kohta leiad terminalist käsuga:
$ man fuser
Kasutamine
Fuser saab kasutada ka ilma root kasutaja (superuser) õigusi omamata. Sisestades terminali fuser käsku ilma täiendava parameetrita kasutajale kuvatakse protsessise ID-id,mis parasjagu kasutavad tema töökausta (aktiivset kausta) 6.(vt. Joonis 1)
$ fuser $ fuser /home/.........
Numbrid tähistavad protsessi ID.Nägu näha jooniselt 1 iga protsessi ID-le järgneb täht, mis näitab kuidas antud protsess kasutab faili(5)
c -tähendab et protsess kasutab faili kui aktiivset töökausta e - tähendab et protsess kasutabKasutab faili kui .exe fail r - tähendab et protsess kasutab faili kui root kausta.s Uses the file as a shared library (or other loadable object).
.exe fail on avatud f Avatud fail. f täht on näha ainult võtme -i kasutamisel F open file for writing. F is omitted in default display mode. r root kaust m mmap'ed fail või jagatud raamatukogu Joonisel 1 „c” näitab et protsessid kasutavad kasutaja stuent olemasoleva kodukataloogi t töökausta . (3)Kasutamine
Võti -v,--verbose
Option -V näitab detailsemat inforamtsioni protsesside kohta, mis mingit faili on avanud või mingit failisüsteemi kasutavad.
$ fuser -v
Terminalis väljastatakse töökausta nimi, kasutaja nimi, (user) protsessi id (PID), juurdepääsu tüüp (ACCESS) JA käsk (command, nagu näidatud alltoodud pildil(6)
Now we know all processes running on the current directory.
Võti -k ja -i
Parameeter ‘-k’ kasutataks kui soovid tappa protsessi , mis kasutab failisüsteemi. Selleks et vältida kogemata protsessi tapmist, tasub kasutada lisaks ka parameeter -i. Kui kasutatakse mõlemad võtid („-k” ja „-i” ) on Siis enne protsessi tapmis küsitakse kasutaja käest kinnitust. Vt Joonis 3.
$ fuser -v -k -i socket_serv USER PID ACCESS COMMAND socket_serv: himanshu 5643 ...e. socket_serv Kill process 5643 ? (y/N) y Joonis 3.
Joonis 3. So we see that using ‘-k’ and ‘-i’ we can selectively kill processes , mis on migit faili avanud a particular file.3
Võti -n
Check Processes Using TCP/UDP Sockets, -n option
fuser abil kasutaja saab uurida protsesse mis kasutavad TCP/UDP sockets.
# fuser -v -n tcp 2345 USER PID ACCESS COMMAND 2345/tcp: fiber 22927 F.... h_socket.pl
So we see that fuser gives all detailed information of the process running on TCP port 2345, itsee on avanud kirjutaisõigusega faili has access to a file for writing.(7)