Fuser

From ICO wiki
Revision as of 16:49, 27 October 2016 by Ppopova (talk | contribs)
Jump to navigationJump to search

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 annab informatsiooni protsessi omanikus kohta ja juurdepääsu tüübist [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
  -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 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/.........
Joonis 1. Protsessid

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]

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 raamatukogu

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

Terminalis kuvatakse töökausta nimi, kasutaja nimi, protsessi id (PID), juurdepääsu tüüp (ACCESS) ja käsk (command, nagu näidatud alltoodud pildil[6]

Joonis 2. Protsesside detailne kirjeldus

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’ kasutajab saab oma valikul tappa protsessi, mis on migit faili avanud.

Võti -n [8]

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)


Võti -m

Next, you can determine kuvab protsessi mis mingi faili on vanaudwhich processes are accessing your ~.bashrc file like so:

Joonis 3.

ssin kasutatse võti -v et saaa detalsemat ülevaadet ja võti -met saada 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