Práce s procesy Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Autor: horak@oakostelec.cz 27.12.2018
úvod Každý program (soubor) který spustíme je procesem (nebo několika procesy). Pokud proces zhavaruje – problém. Každý proces je možné „zabít“. Procesy mohou být na sobě závislé, vytvářejí stromovou strukturu Každý proces má své číslo a je nezávislý na ostatních procesech protože má přidělenou svoji oblast v operační paměti Prvním, základním procesem je init, který se spouští při startu systému. Jeho PID je 1. V grafice vidíme běžící procesy v miniaturních oknech (podobně jako ve Windows) V příkazovém režimu je možný přesnější přístup k havarovanému procesu
Informace o běžících procesech - ps Seznam běžících procesů ps_[parametr] bez parametrů vypíše pouze procesy uživatele, který tento příkaz spustil a pouze ty procesy, které byly spuštěny ze stejného terminálu jako samotný příkaz ps. -ax zobrazí všechny procesy -u vypíše vlastníky procesů -f vztahy mezi procesy -x zobrazí pouze procesy (bez terminálu)
Informace o běžících procesech - ps význam sloupců výpisu příkazu ps USER – vlastník procesu PID – identifikační číslo procesu %CPU – kolik % času procesoru proces zabírá %MEM – kolik % paměti proces zabírá VSZ - kolik % paměti proces zabírá ve virtuální paměti RSS - kolik % rezidentní paměti proces zabírá TTY – ovládání terminálového procesu (tty znamená, že proces není připojen k terminálu) STAT - stav procesu: S – proces usnul, ostatní procesy připravené k multitaskingu jsou pozastaveny R - proces je právě zpracováván CPU D - nepřerušitelné čekání např. čeká na čtení z disku, není možné hop zabít T - zastaven, nebo laděn Z - stav „zombie“ – jeho mateřský proces byl přerušen, ale vlastní proces není ukončen, vlastníkem procesu se stává init, většinou následek chyby, nebo špatně napsaného procesu W – obsah paměti je celý na disku – odswapován (v paměti není nic rezidentně) N – proces s nízkou prioritou L – proces vyžaduje zpracování v reálném čase
Informace o běžících procesech – pstree, top pstree vypisuje stromovou strukturu procesů ze které je dobře patrné rodičovství a posloupnost procesů. pstree top nevypisuje pouze výpis aktuálního stavu procesů v systému (jako ps), ale dokáže tento výpis dynamicky měnit. Díky tomu můžeme v reálném čase sledovat změny stavu procesů, jejich "boj" o procesor, aktuální velikost paměti, které procesy alokují a spoustu dalších užitečných informací. top příkaz ukončíte současným stiskem kláves CTRL + C
význam sloupců příkazu top PID - identifikační číslo procesu, (stejné jako u ps). USER - identita (uživatel) pod níž daný proces běží PŘI - aktuální výše priority procesu. NI - výše priority zadaná příkazem nice (dá se jím měnit priorita procesu). SIZE - celková velikost procesu v paměti (velikost je udávána v kB a je to velikost kódu + velikost zásobníku + velikost dat). RSS - celková velikost (v kB) použité fyzické paměti pro daný proces. SHARE - velikost sdílené paměti STAT - stav procesu (indikace stavu je stejná jako u příkazu ps). %CPU - procentuální informace o využití procesoru daným procesem v okamžiku výpisu %MEM - procento využití fyzické paměti daným procesem. TIME udává celkový procesorový čas po který byl daný proces od spuštění až do okamžiku výpisu zpracováván (z tohoto času je patrné, že spousta procesů má procesorový čas velmi malý, protože mnoho z nich často čeká na nějaké I/O operace). COMMAND popisuje daný proces/příkaz.
Ukončení procesu Ukončení procesu je závislé na právech: Superuživatel (root) může ukončit jakýkoliv proces Běžný uživatel může ukončit pouze svůj proces ukončujeme příkazem kill kill číslo procesu (PID) ukončování může chvíli trvat, ukončují se také podprocesy kill -9 číslo procesu přidání vysoké důležitosti, proces bude ukončen „násilně“ kill -9 jméno procesu víme-li, že proces má mnoho podprocesů
Linux - Dokumentační projekt, 3. aktualizované vydání Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Použité materiály: Linux - Dokumentační projekt, 3. aktualizované vydání LXI1 – Linux instalace (Příručka ke školení Gopas) LXI2 – Linux administrace systému (Příručka ke školení Gopas) 27.12.2018