Fuser: Difference between revisions
No edit summary |
No edit summary |
||
Line 62: | Line 62: | ||
<tr> | <tr> | ||
<td>'''s'''</td> | <td>'''s'''</td> | ||
<td>tähendab et protsess kasutab faili kui jagatud | <td>tähendab et protsess kasutab faili kui jagatud teeki</td> | ||
</tr> | </tr> |
Revision as of 09:08, 28 October 2016
Sissejuhatus
Antud artikkel on kirjutatud "Operatsioonisüsteemide administreerimine ja sidumine" aine raames eesmärgiga anda ülevaade Linux/Unixi põhistes operatsioonisüsteemides kasutatavast käsust fuser. Käsk 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' näitab protsessi omaniku ja juurdepääsu liiki. [1]
Käsu format ja võtmete kirjeldused [2] [3]
# fuser [options] [file|socket] # fuser [options] -SIGNAL [file|socket] # fuser -l
Mõned fuser võtmed:
-a,--all näitab kõik failid -i,--interactive küsib kinnitust enne protsessi tapmist (ei toimi ilma -k) -k,--kill tapab protsessi, mis kasutab antud faili -l,--list-signals näitab kõik teadaolevad signaalide nimed -m NAME, --mount NAME NAME specifies a file on a failisüsteemis. Kuvataks kõik protsessid, mis on selles failisüsteemis faile avanud. -u,--user Näitab protssesi omaniku kasutaja nimi -v,--verbose näitab protsessi detailset kirjeldust -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 kuvatakse kasutajale protsessise ID-id, mis kasutavad tema töökausta (vt. Joonis 1).[4]
$ 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]
Juurdepääsu liik:
Täht | Seletus |
---|---|
c | tähendab et protsess kasutab faili kui aktiivset töökausta |
e | tähendab et protsess kasutab faili kui .exe fail |
r | tähendab et protsess kasutab faili kui root kausta. |
s | tähendab et protsess kasutab faili kui jagatud teeki |
Joonisel 1 „c” näitab et protsessid kasutavad kasutaja student kodukataloogi kui aktiivset töökausta .
Võti -v,--verbose
Võti -v kirjeldab kirjeldab detailselt protsesse, mis mingit faili on avanud või mingit failisüsteemi kasutavad.
$ fuser -v
Nagu näidatud alltoodud joonisel 2 terminalis kuvatakse töökausta nimi, kasutaja nimi, protsessi id (PID), juurdepääsu liik (ACCESS) ja protsessi nimi. [6]
Nii saab teada kogu info protsseside kohta, mis kasutavad sinu töökausta.
Võti -k ja -i [7]
Parameeter -k kasutatakse, kui vaja 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” ), siis enne protsessi tapmist küsitakse kasutaja käest kinnitust.
$ fuser -v -k -i socket_serv USER PID ACCESS COMMAND socket_serv: himanshu 5643 ...e. socket_serv Kill process 5643 ? (y/N) y
Kasutades parameetrid -k and -i kasutaja saab oma valikul tappa protsessi, mis on migit faili avanud.
Võti -n [8]
Võtme -n abil kasutaja saab uurida protsesse, mis kasutavad TCP/UDP pordid.
# fuser -v -n tcp 2345 USER PID ACCESS COMMAND 2345/tcp: fiber 22927 F.... h_socket.pl
Käsuga fusere -n saab näha et protsess, mis kasutab TCP pordi 2345, on avanud kirjutamisõigusega faili.
Võti -m
Võti -m kasutatakse fuser käsuga et leida kõik protsessid, mis on avanud faili konkreetses failisüsteemis, mille hulka antud fail kuulub. Võti -m on hea abivahend, kui soovid teda mis protsessid on vaja ära tappa. Terminalisse sisestakse käsk fuser - m koos faili nimega.
root@exampleuser-X55CR:~# fuser -v -m example.txt USER PID ACCESS COMMAND /root/example.txt: root kernel mount / root 1 Frce. init root 2 .rc.. kthreadd root 3 .rc.. ksoftirqd/0 root 6 .rc.. migration/0 root 7 .rc.. watchdog/0 [...]
The -m option is very useful, especially when used to discover processes accessing a file system with the intetion of identifying which process to kill.
The following command displays all processes accessing filesystem on which ‘example.txt’ resides. See carefully how the -m option is used with the fuser utility. Võtme -m abil saab uuridaNext, you can determine kuvab protsessi mis mingi faili on vanaudwhich processes are accessing your ~.bashrc file like so:
Võti -v tagab detailset kirjedust ja võti -m kuvab kõikide protsesside nimed, mis antud failisüsteemi kasutavad. The option, -m NAME or --mount NAME means name all processes accessing the file NAME. In case you a spell out directory as NAME, it is spontaneously changed to NAME/, to use any file system that is possibly mounted on that directory.6
Autor
Polina Popova
AK21
november 2016
Kasutatud kirjandus
http://www.computerhope.com/unix/fuser.htm
http://www.thegeekstuff.com/2012/02/linux-fuser-command/
https://www.digitalocean.com/community/tutorials/how-to-use-the-linux-fuser-command
https://sites.ualberta.ca/dept/chemeng/AIX-43/share/man/info/C/a_doc_lib/cmds/aixcmds2/fuser.htm
http://www.tecmint.com/learn-how-to-use-fuser-command-with-examples-in-linux/
http://fibrevillage.com/sysadmin/277-fuser-command-examples-on-linux