Ps

From ICO wiki
Revision as of 00:20, 21 December 2015 by Emaaten (talk | contribs)
Jump to navigationJump to search

Autor

Autor: Arina Püvi A21
Täiendanud: Epp Maaten, AK21 2015/16
Viimati muudetud: 20.12.2015

Sissejuhatus

Operatsioonisüsteem peab arvet protsesside ja ressursside kohta. Protsess on käivitatud programm, millele on eraldatud protsessori ja mälu (aadressiruum) ressursid. [1]

ps (process status) on programm, mis UNIXi-laadsetes operatsioonsüsteemides kuvab teavet töötavate protsesside kohta. Windows PowerShell'is teenib sisuliselt sama eesmärki käsk Get-Process, mille aliasena on eeldefineeritud ka ps. [2]. Protsesside jälgimiseks kasutatakse ka graafilisel kujul TaskManager'i (Windows) ning Activity Monitor'i (MacOSX).

Kirjeldus

Utiliit ps kirjutab informatsiooni protsessidest, võttes vajalikud õigused, et saada teavet nende protsessidest. Vaikimisi ps valib kõik protsessid sama kasutaja ID efektiivsusega, nagu praegune kasutaja ja sama kontrolli terminal.

Andmeid protsesside kohta hoitakse protsessitabelis. Protsessil on identifikaator PID. Protsess võib käivitada teisi protsesse. Protsess, mis käivitas teise protsessi nimetatakse vanemaprotsessiks (parent process). Protsessid moodustavad protsessipuu, mille tipuks on esimesena käivitatud protsess.[1]

Utiliit ps kuvab tavaliselt iga protsessi kohta infot eraldi real. Protsessi kirjeldav rida sisaldab protsessi ID-d, kontrollivat terminali, CPU aega, staatust ja seotud käsku. Erinevate võtmetega on võimalik ps käsku muuta ja filtreerida otsitavaid protsesse. Kui käsus on rohkem kui üks sorteerimise võti, siis protsessid kuvatakse viimasena defineeritud sorteerimiskriteeriumi alusel. [BSD General Commands Manual]

Võtmed

Süntaks
ps [võtmed]

Optsioonid, mis valivad protsessid aruanneks:

-A kõik protsessid
-a sageli kasutatav optsioon, seotud konkreetse terminaliga, kust on välja arvatud peamised süsteemsed protsessid
-N valiku eitamine
-d kõik ptosessid, kust on välja arvatud peamised süsteemsid protsessid
-e kõik protsessid, mis praegu töötavad
T kõik protsessid konkreetsel terminalil
a jooksva terminali protsessid, samuti teiste kasutajate protsessid
r ainult töötavate protsessi informatsioon
x lahti ühendatud terminalist protsessid
-f loob terviknimekiri
-j trükib sessiooni ID ja protsessi gruppi ID
-l loob pika nimekirja
-L loob informatsioon igast kergest protsessist igast valitud protsessist
-p kirjutab informatsioon protsessidele, kelle ID numbrid on esitatud proclist'is
-g grouplist kirjutab informatsioon protsessidele, kelle sessiooni liidrid on tuvastatud grouplisti
-G grouplist kirjutab informatsioon protsessidele, kelle tegelik rühma ID-numbrid on ära toodud grouplisti
-n namelist vaikimimsi märkab nimi alternatiivselt süsteemi namelist failist
-o format kirjutab informatsioon vastavalt kirjeldatud formaadis
-p proclist kirjutab informatsioon protsessidele, kelle ID numbrid on esitatud proclist'is
-s sidlist informatsiooni nimekiri kõigi sessiooni liidritest, kelle ID ilmuvad sidlist'is
-t termlist ainult nende protsesside andmete nimekiri, mis on seotud terminaligaTerminali indentifikaatorid on määratletud kui seade faili nimi ja indentifikaator
-u userlist kirjutab informatsioon protsessidele , kelle kasutaja ID numbrit või login nimed on toodud userlist'is
-U userlist kirjutab informatsioon protsessidele, kelle tegelik kasutaja Id numbrit ja login nimed on toodud Userlist'is


Väljuv info

Veerud
UID kasutaja identifikaator
PID protsessi identifikaator
PPID vanemprotsessi identifikaator
C protsesside prioriteet, mida kasutavb ülesannete planeerija
STIME protsessi start aeg
TTY terminal, millega on seotud antud protsess
TIME aeg, mida hõivatas see protsess
CMD käsk, mis käivitas seda protsessi
STAT seisund, milles paikneb protsess sel hetkel

STAT parameetrid

R protsess praegu töötab
S protsess ootab (magab vähem kui 20 sek)
I protsess seisab (magab rohkem kui 20 sek)
D protsess ootab sisestust/väljastust (või muud lühi sündmust), katkematu
Z zombie / defunct protsess, protsess kellel pole vanemat
T protsess peatatud
W protsess swap'is
< protsess on prioriteetses režiimis (esiplaanil)
N protsess on madala prioriteet režiimis
L tegelik protsess, kus on lehekülgi, mis on lukustatud mälus


Näited

# ps
PID  TTY      TIME     CMD
2643 pts/o    00:00:00 su
2644 pts/0    00:00:00 bash
3092 pts/0    00:00:00 ps

Ja kuigi protsesse ei ole nii palju, see on väga tüüpiline informatsioon. Kasutades Ps käsku me näeme sama palju veergu, olenemata sellest kui palju protsesse teostatakse süsteemis.

PID - protsessi identifikaator (process ID). Kõikidel töötav protsessidel on unikaalsed identifikaatorid vahemikus 1 - 32767. Igale uuele protsessile määrätakse järgmine vaba PID. Kui protsess lõpeb oma töö (või tapetakse), ta vabastab oma PID. Jõudes maksimum PID, järgmisena võetakse esimene vaba PID madalaima numbruga ja nii ringi.

Tulb TTY tähendab terminal, milles käivitab protsess. Lihtsas ps kutses me näeme ainult nende programmi nimekirja, mida käivitatakse jooksvas terminalis. Seega kõikidel protsessidel veerus TTY on sama info.

Veerg TIME sisaldab kella andmeid, mille jooksul protsess kasutav CPU(keskprotsessori) ressursse. Kuid see ei ole aeg, mille jooksul protsess töötab.TIME veerg peab sisaldama iga väiksem võimalik aegaväärtus võrreldes aega, mille jooksul protsess täitakse.

Ja lõpuks, veerus CMD on esitatud programm ise. Seal näitakse ainult programmi nime ilma millist käsurea võtmeid või muud samasugust teavet.


Kasutades õiget optsiooni valikuid saad täielikku protsesse nimekiri, teostatud teie süsteemis.

# ps ax
PID TTY      STAT   TIME COMMAND
1   ?        S      0:01 init [3]
2   ?        SN     0:00 [ksoftirqd/0]
3   ?        S<     0:00 [events/0]
4   ?        S<     0:00 [khelper]
5   ?        S<     0:00 [kblockd/0]
29  ?        S      0:00 [pdflush]


# ps -ef

Näitab täielikku informatsiooni igast protsessist käesoleval ajal.


Kui soovite saada veel täpsemat informatsiooni teostatavatest protsessidest, proovige järgmine käsk:

# ps aux

See on peaaegu kogu informatsioon süsteemist. Seal on lisainformatsioon protsessist: milline kasutaja teda käivitas, kui palju ta kasutab süsteemi ressursse (veerg %CPU, %MEM, VSZ ja RSS) ja millal ta oli alanud.


Märkused

  • Ps alternatiiv on käsk top, mis mugavalt kuvab ekraanile koguaeg täienev info, kuid top on piiratud akna suurusega, nii et kõik, mis ei mahu ekraanile, lihtsalt ignoreeritakse.
  • Ps käsku on mugav kasutada less utiliitiga teostatava informatsiooni kerimiseks vajutades üles ja alla nupud, näiteks ps ax | less.
  • Kasutades grep utiliiti on mugav otsida ja kuvada ainult vajalikud protsessid, näiteks ps ax | grep smbd.


Sugulasoptsioonid

  • top
  • pstree
  • proc


Kasutatud materjal

[1] [2] [3] [4] [5]