Takže teraz viete ako prepínať tam a naspäť medzi niekoľkými procesmi, ktoré ste naštartovali z príkazového riadku. A tiež viete, že existuje mnoho procesov bežiacich po celý čas. Takže ako si vypíšete všetky tieto programy? Nuž, použijete program ps(1). Tento program má mnoho volieb, takže tu si popíšeme len tie najpodstatnejšie. Úplný zoznam nájdete v manuálovoej stránke pre ps. Manuálové stránky sú podrobnejšie popísané v sekcii nazvanej man v Kapitole 2.
Jednoducho naťukaním ps dostanete zoznam programov bežiacich na vašom termináli. Mnoho krát, to bude veľmi krátky výpis:
$ ps PID TTY TIME CMD 7923 ttyp0 00:00:00 bash 8059 ttyp0 00:00:00 ps |
Hoci to nie je veľa procesov, informácia je to typická. Použitím ps dostanete rovnaké stĺpce, bez ohľadu na to koľko procesov beží. Takže čo to všetko znamená?
Nuž, PID je identifkátor procesu. Všetky procesy majú unikátny identifikátor. Pri kerneloch 2.2.x, tento identifikátor procesu môže byť kdekoľvek medzi 1 a 32767. Každý proces má priradený nasledujúci voľný PID. Keď proces skončí (alebo je zabitý, ako uvidíte v nasledujúcel sekcii), odovzdá svoje PID. Keď sa dosiahne maximálne PID, ako nasledujúce bude vybrané najnižšie voľné. To sa pravdepodobne zmení v nadchádzajúcej sérií jadra 2.4 a so zavedením 32-bitových PID.
Stĺpec TTY ukazuje, na ktorom termináli proces beží. Spustením samotného ps len vypíše zoznam programov bežiacich na aktuálnom termináli, takže všetky procesy ukazjú rovnakú informáciu v stĺpci TTY. Ako môžete vidieť, oba vypísané procesy bežia na ttyp0. To naznačuje, že boli spustené z iného stroja, alebo z nejakého X terminálu.
Stĺpec TIME ukazuje koľko CPU času už proces bežal. To je rozdielne od skutočného množstva času, čo proces beží. Pamätajte si, že Linux je mnohoúlohový operačný systém. Existuje veľa procesov bežiacich celú dobu, a každý z týchto procesov dostáva malý kúsok času procesora. Takže stĺpec TIME by mal ukazovať oveľa menej času pre každý proces, než v skutočnosti trvá, kým zbehne. Ak vidíte viac než niekoľko minút v stĺpci TIME, môže to znamenať, že niečo nie je v poriadku.
No a nakoniec stĺpec CMD ukazuje aký program to vlastne je. V tomto stĺpci je len základné meno programu, nie prepínače, parametre alebo podobné informácie. Aby sme získali tieto informácie, budeme potrebovať použiť jednu z mnohých volieb programu ps. Popíšeme ich len stručne.
Úplný zoznam procesov bežiacich na vašom systéme môžete dostať správnou kombináciu prepínačov. Výsledkom bude pravdepodobne dlhý výpis procesov ( päťdesiatpäť na mojom laptope zatiaľ čo píšem túto vetu), takže skrátim výstup:
$ ps -ax PID TTY STAT TIME COMMAND 1 ? S 0:03 init [3] 2 ? SW 0:13 [kflushd] 3 ? SW 0:14 [kupdate] 4 ? SW 0:00 [kpiod] 5 ? SW 0:17 [kswapd] 11 ? S 0:00 /sbin/kerneld 30 ? SW 0:01 [cardmgr] 50 ? S 0:00 /sbin/rpc.portmap 54 ? S 0:00 /usr/sbin/syslogd 57 ? S 0:00 /usr/sbin/klogd -c 3 59 ? S 0:00 /usr/sbin/inetd 61 ? S 0:04 /usr/local/sbin/sshd 63 ? S 0:00 /usr/sbin/rpc.mountd 65 ? S 0:00 /usr/sbin/rpc.nfsd 67 ? S 0:00 /usr/sbin/crond -l10 69 ? S 0:00 /usr/sbin/atd -b 15 -l 1 77 ? S 0:00 /usr/sbin/apmd 79 ? S 0:01 gpm -m /dev/mouse -t ps2 94 ? S 0:00 /usr/sbin/automount /auto file /etc/auto.misc 106 tty1 S 0:08 -bash 108 tty3 SW 0:00 [agetty] 109 tty4 SW 0:00 [agetty] 110 tty5 SW 0:00 [agetty] 111 tty6 SW 0:00 [agetty] [output cut] |
Väčšina týchto procesov sa štartuje počas bootovanie na väčšina systémov. Ja som už urobil nejaké modifikácie na mojom systéme, takže vo vašom prípade to bude pravdepodobne trocha iné. Napriek tomu budete vidieť väčšinu týchto procesov aj na svojom systéme. Ako môžete vidieť, tieto prepínače zobrazujú aj parametre bežiacich procesov. Prináša tiež niekoľko ďalších stĺpcov a iný zaujímavý výstup.
Najprv si všimnete, že väčšina týchto procesov je vypísaných ako bežiacich na tty “?”. To sú procesy, ktoré boli naštartované z terminálu, ktorý už nie je aktívny. Preto, už nie sú spojené so žiadnym konkrétnym terminálom.
Po druh, je tu nový stĺpec: STAT. Ukazuje stav procesu. S znamená spiaci: proces čaká na to, že sa niečo stane. Z znamená zombia. Zombia je taký proces, ktorého rodič zomrel, a zanechal po sebe proces potomka. To nie je dobrá vec.
Ak chcete vidieť ešte viac informácií o bežiacich procesoch, skúste toto:
$ ps -aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 344 80 ? S Mar02 0:03 init [3] root 2 0.0 0.0 0 0 ? SW Mar02 0:13 [kflushd] root 3 0.0 0.0 0 0 ? SW Mar02 0:14 [kupdate] root 4 0.0 0.0 0 0 ? SW Mar02 0:00 [kpiod] root 5 0.0 0.0 0 0 ? SW Mar02 0:17 [kswapd] root 11 0.0 0.0 1044 44 ? S Mar02 0:00 /sbin/kerneld root 30 0.0 0.0 1160 0 ? SW Mar02 0:01 [cardmgr] bin 50 0.0 0.0 1076 120 ? S Mar02 0:00 /sbin/rpc.port root 54 0.0 0.1 1360 192 ? S Mar02 0:00 /usr/sbin/sysl root 57 0.0 0.1 1276 152 ? S Mar02 0:00 /usr/sbin/klog root 59 0.0 0.0 1332 60 ? S Mar02 0:00 /usr/sbin/inet root 61 0.0 0.2 1540 312 ? S Mar02 0:04 /usr/local/sbi root 63 0.0 0.0 1796 72 ? S Mar02 0:00 /usr/sbin/rpc. root 65 0.0 0.0 1812 68 ? S Mar02 0:00 /usr/sbin/rpc. root 67 0.0 0.2 1172 260 ? S Mar02 0:00 /usr/sbin/cron root 77 0.0 0.2 1048 316 ? S Mar02 0:00 /usr/sbin/apmd root 79 0.0 0.1 1100 152 ? S Mar02 0:01 gpm root 94 0.0 0.2 1396 280 ? S Mar02 0:00 /usr/sbin/auto chris 106 0.0 0.5 1820 680 tty1 S Mar02 0:08 -bash root 108 0.0 0.0 1048 0 tty3 SW Mar02 0:00 [agetty] root 109 0.0 0.0 1048 0 tty4 SW Mar02 0:00 [agetty] root 110 0.0 0.0 1048 0 tty5 SW Mar02 0:00 [agetty] root 111 0.0 0.0 1048 0 tty6 SW Mar02 0:00 [agetty] [output cut] |
To poriadne veľa informácií. V podstate pribudla informácia o užívateľovi, ktorý naštartoval proces, koľko systémových zdrojov proces používa ( stĺpce %CPU, %MEM, VSZ, a RSS ), a v aký dátum bol proces naštartovaný. Prirodzene je to veľa informácií, ktoré sa môžu systémovému administrátorovi zísť. Tiež si všimnete niečo iné: informácie teraz zasahujú za kraj obrazovky takže ju už všetku nemôžete vidieť. Nuž, prepínač “-w” to vyrieši.
Nevyzerá to prekrásne, ale svoju prácu to odvedie. Teraz dostanete úplný výpis pre každý proces. O procesoch sa možno dozvedieť dokonca ešte viac informácií. Pozrite si veľmi podrobnú manuálovú stránku pre ps. Napriek tomu prepínače, ktoré sme ukázali sú najpopulárnejšie a sú to tie, ktoré budete najčastejšie potrebovať.