Přihlásit | Registrovat

Procesy - příkazový řádek

Co je to proces

Proces je (zjednodušeně řečeno) běžící program. Nastavením priority ovlivňujeme míru využití procesoru příslušným programem.

V multitaskingu to funguje tak, že běžící program je přerušen, procesor se věnuje dalšímu programu v řadě, pak je i ten zastaven, nastupuje další v řadě a tak stále dokola. Protože zmíněné střídání je velmi rychlé, z uživatelského pohledu se to jeví jako kdyby pracovaly všechny programy současně.

Nastavování priority upřednostňujeme nebo upozaďujeme příslušný program v této řadě. Slouží k tomu programy nice a renice.

Další popis a příklady použití najdete zde

Změna priority procesu

Program nice se používá ke změně priority při spouštění programu, program renice ke změně priority již běžícího programu.

nice

slouží k nastavení priority procesu během jeho spuštění

manuálová stránka příkazu NICE(1)

JMÉNO

  • nice - spustí program se změněnou prioritou

POUŽITÍ

  • nice [OPTION] [COMMAND [ARG]…]

POPIS

Spustí zadaný PŘÍKAZ se změněnou prioritou, která má vliv na plánování procesů. Pokud není zadán žádný PŘÍKAZ, vypíše aktuální prioritu. Priorita může být v rozmezí -20 (minus dvacet, nejvyšší priorita) až 19 (nejnižší).

  • -n, –adjustment=N přidat zadanou hodnotu N (celé číslo) k prioritě příkazu; výchozí hodnota N je 10.
  • –help vypíše tuto nápovědu a skončí
  • –version vypíše číslo verze a skončí

POZN: Váš shell může mít vlastní verzi příkazu nice, která je obvykle upřednostněna před verzí popisovanou zde. Informace o volbách, které podporuje, by měly být uvedeny v dokumentaci shellu.

AUTOR

Napsal David MacKenzie.

HLÁŠENÍ CHYB

Chyby hlaste na bug-coreutils@gnu.org.

COPYRIGHT

Copyright © 2006 Free Software Foundation, Inc.

Toto je volné programové vybavení; Jeho kopie je možné šířit v souladu s GNU General Public License

Toto programové vybavení je zcela BEZ ZÁRUKY, v rozsahu povoleném zákonem.

DALŠÍ INFORMACE

manuálová stránka nice(2)

Tato dokumentace není dále udržována a může být nepřesná nebo neúplná. Autoritativním zdrojem je Texinfo dokumentace. Pokud jsou programy info a nice správně nainstalovány, měl by příkaz

 info nice

zpřístupnit kompletní manuál. říjen 2006

info stránka příkazu NICE(1)

nice spustí příkaz se změněnou prioritou nice vypíše nebo modifikuje prioritu procesu, parametr, který ovlivňuje průběh plánování procesů (scheduled favorably).

Syntaxe:

 nice [OPTION] ... [PŘÍKAZ [ARG] ...] 

Nejsou-li zadány žádné argumenty, nice vypíše současnou prioritu. V opačném případě provede zadaný PŘÍKAZ pro její nastavení. Defaultní nastavení priority je 10.

Priorita se nastavuje v rozsahu od -20 (mínus dvacet, nejvyšší priorita) do 19 (nejnižší priorita). Některé systémy mohou mít širší rozsah priority; naopak další systémy mohou používat užší limity. Pokus nastavit prioritu mimo podporovaný rozsah způsobí nastavení na minimum nebo maximum podporované hodnoty.

Priorita (niceness) by se neměla plést s prioritou plánování (scheduling priority), která dovolí aplikacím určit pořadí, ve kterých vláknech jsou plánovány ke spuštění. Na rozdíl do priority plánování (scheduling priority) je priorita procesu (niceness) pouze informace pro plánovač (scheduler), a tomu nic nebrání ignorovat ji. Také jako položku terminologie definuje norma POSIX „nice“ ve smyslu „hodnoty nice“, která je nezáporným rozdílem mezi prioritou (niceness) a minimální prioritou (minimum niceness). Ačkoli se „nice“ přizpůsobila normě POSIX, jeho dokumentaci a diagnostickému využívání, termín „priorita (niceness)“ se z historických důvodů zaměňuje.

PŘÍKAZ nesmí být zvláštní vestavěná utilita (viz Poznámka Zvláštní vestavěné utility)

Protože mnoho shellů má vestavěný příkaz „nice“, použití čistého „nice“ ve scriptu nebo interaktivně, může způsobit výsledky odlišné od zde popsaných.

Parametry

Program akceptuje následující parametry (OPTION). Také viz Poznámku Běžné volby. Volby musí předcházet operandy.

  • - n ADJUSTMENT
  • –adjustment=ADJUSTMENT

Přičte hodnotu uvedenou v –adjustment=ČÍSLO namísto defaultní hodnoty 10 k prioritě PŘÍKAZU. Je-li ADJUSTMENT negativní (zvyšující prioritu) a nemáte-li přiměřená práva, nice vás upozorní, ale zachová se, jako kdyby jste nastavili nulu.

Pro kompatibilitu nice také podporuje starší syntaxi volby -ADJUSTMENT . Nové scripty by měly místo toho používat -n ADJUSTMENT.

Návratové kódy:

  • 0 není-li zadán žádný PŘÍKAZ a je specifikovná priorita
  • 1 jestli selže samotné nice
  • 126 je-li PŘÍKAZ nalezen ale nemohl být spuštěn
  • 127 nelze-li PŘÍKAZ najít

Návratové kódy PŘÍKAZU jsou odlišné

Někdy je užitečné spustit neinteraktivní příkaz se sníženou prioriotou.

$ nice factor 4611686018427387903

Protože nice vypíše současnou prioritu, můžete volat je samotné a zjistit, jak pracuje. Defaultním chováním je zvýšení priority o 10:

$ nice
0
$ nice nice
10
$ nice -n 10 nice
10

ADJUSTMENT je relativní k současné prioritě. V předchozím příkladu nejprve nice vyvolá spuštění, druhý s prioritou 10 a následující taktéž. Následující pak zvýší hodnotu priority o 3:

 $ nice nice -n 3 nice
13

Nastavení hodnoty na vyšší, než je podporovaný rozsah je stejné, jako nastavení maximální podporované hodnoty:

$ nice -n 10000000 nice
19 

Jen privilegovaný uživatel může spustit proces s nižšší hodnotou priority:

$ nice -n -1 nice
nice: cannot set niceness: Permission denied
0
$ sudo nice -n -1 nice 
-1

renice

umožňuje změnit prioritu běžícího procesu

Manuálová stránka příkazu renice(1)

JMÉNO

  • renice - změní prioritu běžícího procesu

SYNTAXE

renice priorty [[-p]pid ...][[-g]pgrp ...][[-u] user ...]

POPIS

Renice změní plánovací prioritu jednoho nebo více běžících procesů. Následující parametry jsou převzaty jako ID procesu (PID), ID skupiny (GIP) nebo uživatelské jméno. Změna priority skupiny způsobí, že všechny procesy spuštěné členy skupiny budou mít plánovací prioritu změněnu. Změna priority uživatele vyvolá změnu plánovací prioritdy všech procesů vlastněných uživatelem. Defaultně jsou určeny procesy jejich číslem (PID).

Parametry podporované programem renice:

  • -g přinutí renice interpretovat následující parametry jako ID skupiny
  • -u přinutí renice následující parametry interpretovat jako jméno uživatele
  • -p obnoví defaultní interpretaci ID procesu (PID)

Příklad:

 renice + 1 987 -u daemon root -p32 

změní prioritu procesu PID 987 a 32 a všech procesů vlastněných uživateli daemon a root.

Uživatelé (mimo uživatele root) mohou změnit pouze prioritu vlastních procesů a její hodnotu pouze zvýšit (tedy prioritu snížit) v rozsahu 0 do PRIO_MAX (20). (lze tomu zabránit opatřením administrátora). Super-user (root) může změnit prioritu jakéhokoli procesu a nastavit prioritu na jakoukoli hodnotu v rozsahu PRIO_MIN (-20) až PRIO_MAX. Platné priority jsou: 20 (procesy budou spuštěny jen pokud nic jiného v systému nemá žádné požadavky), 0 (základní plánovací priorita), jakákoli záporná hodnota (procesy vykonávané velmi rychle).

SOUBORY

  • /etc/passwd tabulka uživatelských jmen a jejich ID

VIZ TAKÉ

getpriority(2), setpriority(2)

CHYBY

(pozn. překl.: tato pasáž platí pro uživatele OS like-BSD)

Neprivilegovaní uživatelé nemohou zvýšit prioritu svých vlastních procesů, dokonce ani tehdy, jestliže předtím prioritu snížili.

Linuxové jádro (prinejmenším verze 2.0.0) a linuxový libc (prinejmenším verze 5.2.18) nejsou zcela kompatibilní se specifikací rozhraní sady systémového volání hodnot nice. Proto renice oznamuje nesprávné hodnoty předchozí priority.

HISTORIE

Příkaz renice se poprvé objevil v 4.0 BSD.

DOSTUPNOST

Příkaz renice je součástí balíčku util-linux-ng a je k dispozici na ftp: ftp.kernel.org/pub/linux/utils/util-linux-ng .

4th Berkeley Distribution June 9, 1993

Ukončení procesu

běžící proces, který považujete za zbytečný, lze ukončit pomocí příkazu kill

kill PID

číslo PID získáte pomocí příkazu

ps -A
Mandriva Wiki
system/prikazovy_radek/procesy.txt · Poslední úprava: 2011/01/01 15:12 autor: yullaw