Čeština

Správa systémových procesů

Správa systémových procesů

Každý spuštěný program v systému GNU/Linux je složen z jednoho nebo více procesů. Ten v systému alokuje určité množství paměti a systémových prostředků. Podívejme se, jak s procesy pracovat.

Základem je zjištění toho, jaké procesy vůbec v našem systému běží. K tomu slouží příkaz ps, avšak v základní podobě vypíše pouze námi spuštěné procesy v právě otevřeném terminálu. Pro podrobnější výpis je vhodné použít atributy aux, kde a vypisuje všechny procesy spuštěné na terminálu, x zobrazuje procesy od terminálu odpojené a u zobrazuje informaci, pod jakým uživatelem je daný proces spuštěn.

System process management

Jednotlivé sloupce jsou samy o sobě dostatečně výmluvné, avšak zaměřme se na druhý sloupec. Každý spuštěný proces má vždy přidělený unikátní číselný identifikátor, podle něhož lze proces volat. Tento identifikátor označujeme PID a nalezneme jej právě ve druhém sloupci ve výpisu.

Pro zajímavost a pochopení vzájemné provázanosti běžících aplikací si také můžeme nechat vypsat stromovou strukturu. K tomu využijeme nástroj pstree.

Správa systémových procesů - obrázek

Veškeré tyto informace jsou užitečné především v okamžiku, kdy se operační systém chová nestandardně a chceme odhalit příčinu, která často spočívá v přílišném vytěžování systému některými procesy anebo chceme zkrátka jen „natvrdo“ některý proces ukončit.

Existuje několik způsobů jak s procesy pracovat a ovlivňovat jejich chování (přidávat/ubírat jim systémové prostředky apod.), avšak tím hlavním, se kterým se setkáte nejčastěji, je potřeba okamžitého ukončení běhu procesu – ať už z důvodu chyby, vytěžování prostředků anebo zkrátka jen v rámci ladění aplikace.

K tomu použijeme signál kill, který lze procesu zaslat i stejnojmenným příkazem. Jako argument mu zadáme pouze příslušný identifikátor (PID) a proces by se měl sám ukončit.

$ kill 12345

Signál kill se snaží o „slušné ukončení“, takže uzavírá veškeré soubory, uvolňuje alokovanou paměť apod. V případě vážnějších problémů však nemusí k požadovanému ukončení dojít. Pak volíme cestu poněkud tvrdší, a to s atributem -9.

$ kill -9 12345

Takto již bude proces ukončen určitě, avšak bez „úklidu“.

V další části se podíváme na správu úloh.

Autor: Jirka Dvořák

Nejlepší články

úložné boxy pro součástky a komponenty
Supermicro server s AMD CPU
Chladící infrastruktura s technologií freecooling