V operačných systémoch Linux a Unix je spustená inštancia príkazu známa ako proces. Každý proces môžete identifikovať podľa jedinečného ID procesu. Linux poskytuje nástroje príkazového riadka na efektívny zoznam, správu a monitorovanie týchto procesov.
Tieto nástroje môžete použiť na uprednostnenie každého procesu alebo ich umiestniť na pozadie alebo do popredia, aby ste mohli efektívne spravovať systémové prostriedky.
Táto príručka pre správu procesov v systéme Linux obsahuje nástroje ako ps, kill, renice a ďalšie príkazy, ktoré pomáhajú správcom systému pri správe a výpise procesov.
Výpis procesov pomocou príkazu ps
Najstarší a najčastejšie používaný nástroj príkazového riadka na zoznam aktuálne spustených procesov v systéme Linux je ps. Aj keď vrchný príkaz je ďalší interaktívny a na obrazovku orientovaný spôsob správy a zoznamu systémových procesov, ps tiež zobrazuje ďalšie informácie, ako sú zdroje, ktoré každý proces spotrebúva.
Vzhľadom na prostredie s viacerými používateľmi je každý proces v systéme Linux spojený so samostatným používateľským a skupinovým účtom. Informácie o účte s podrobnosťami o procese vám teda pomáhajú získať prístup k systémovým prostriedkom, ktoré môže proces použiť.
Napríklad procesy bežiace s oprávneniami superužívateľa môžu pristupovať k viac systémovým zdrojom ako bežný používateľ a práve tu pomáha systém ps správcom systému.
Nasledujúci výstup je príkladom výpisu procesov s používateľskými menami, uplynutým časom a súvisiacou spotrebou pamäte a CPU:
Môžete si tiež všimnúť stĺpec STAT, ktorý zobrazuje stav bežiaceho procesu. R predstavuje proces, ktorý práve prebieha, a S je spiaci proces so znamienkom plus označujúcim operácie v popredí.
Môžete uviesť všetky procesy aktuálneho používateľa takto:
ps ux | menej
Ak chcete zobraziť zoznam procesov pre všetkých používateľov:
ps aux | menej
Riadenie procesov pomocou monitora systému
System Monitor poskytuje grafický spôsob zobrazenia a správy procesov. Ak chcete spustiť System Monitor, prejdite na Aplikácie > Monitor systému. Prepnite na Procesy zobrazíte všetky spustené procesy.
Štandardne zobrazuje procesy v abecednom poradí pre aktuálneho používateľa. Zoznam procesov môžete pretriediť kliknutím na hlavičku ľubovoľného stĺpca. Okrem toho môžete kliknúť na %CPU a Pamäť nadpisy na zobrazenie procesov spotrebúvajúcich viac výpočtového výkonu a pamäte.
System Monitor vám umožňuje spravovať procesy rôznymi spôsobmi, čo znamená, že môžete zastaviť, ukončiť, pokračovať, ukončiť a zmeniť prioritu procesu jednoduchým kliknutím pravým tlačidlom myši na názov procesu.
Je to najlepší nástroj pre začínajúcich používateľov Linuxu, ktorí nevedia, ako pracovať s nástrojmi príkazového riadka.
Súvisiace: Ako zobraziť výsledok top procesov a zoradiť podľa pamäte
Práca s procesmi na pozadí/v popredí
Prichádza čas, keď musíte pristupovať k systému Linux cez sieť iba pomocou príkazového riadku. To obmedzuje efektívnu správu viacerých aktívnych programov. Shell vám však umožňuje spravovať programy ich prepínaním do pozadia a popredia.
Ako spustiť proces na pozadí
Ak chcete spustiť program, zatiaľ čo budete pokračovať v práci v prostredí shell, spustite príkaz, zastavte ho a umiestnite ho na pozadie pomocou Ctrl + Z. Ak chcete spustiť program priamo na pozadí, pridajte ampersand (&) na koniec príkazu takto:
nájsť /usr > /tmp/allusrfiles &
Poznamenajte si číslo úlohy a ID procesu. Majte na pamäti, že príkazy, ktoré vyžadujú vstup z terminálu, nemôžete spúšťať na pozadí.
Môžete použiť pracovných miest príkaz na zobrazenie všetkých programov/príkazov spustených na pozadí alebo tých, ktoré ste zastavili (pomocou Ctrl + Z).
pracovných miest
Ako obnoviť procesy v popredí a na pozadí
Ak chcete pokračovať v úlohe, ktorú ste umiestnili na pozadí, použite tlačidlo fg príkaz, a tým sa príkaz dostane do popredia.
fg %
Podobne, ak ste zastavili spustenie príkazu na pozadí, môžete ho znova spustiť na pozadí pomocou príkazu bg takto:
bg %
Zabíjanie procesov v systéme Linux
Tak ako vám grafický nástroj, akým je System Monitor, umožňuje zabiť, zastaviť a pokračovať v procese, môžete použiť aj nástroje príkazového riadka, ako napr. zabiť a zabiť všetkých poslať signál bežiacemu procesu.
Okrem jednoduchého zabitia procesu, príkaz kill tiež pomáha pri odosielaní rôznych signálov na riadenie správania procesov.
Na používanie signálu môžete použiť mená alebo čísla.
kill -signalnumber
kill -signalname
Napríklad nasledujúce príkazy posielajú signál SIGKILL procesu s PID 1987:
zabiť -9 1987
zabiť -SIGKILL 1987
Najbežnejšie používané procesné signály sú:
Možnosť | Popis |
SIGKILL (9) | Okamžite zabíja proces |
SIGTERM (15) | Ukončí proces |
SIGSTOP (19/28/25) | Zastaví proces |
SIGNCONT (19/28/25) | Pokračuje v procese po jeho zastavení |
SIGUP (1) | Hovorí procesu, aby si prečítal svoj konfiguračný súbor |
Všimnite si, že rôzne procesy reagujú na tieto signály odlišne, ale nedokážu zastaviť signály SIGSTOP a SIGKILL. Ak si chcete o týchto signáloch prečítať viac, zadajte nasledujúci príkaz:
signál muža 7
Uč sa viac: Ako ukončiť nereagujúce procesy v Linuxe pomocou kill a pkill
Renicing procesov v systéme Linux
Linuxové jadro uprednostňuje spustené procesy a priraďuje systémové prostriedky na základe privilégií používateľského účtu. Jadro berie do úvahy aj ďalší faktor, ktorým je „pekná“ hodnota každého spusteného procesu.
Predvolená hodnota nice procesu je nula, ale môžete nastaviť rozsah od -20 do 19. Niektoré fakty o nastavení proces priorita s nice and renice hodnoty sú:
- Proces s nízkou hodnotou nice má väčší prístup k prostriedkom CPU
- Bežný používateľ môže iba zmeniť prioritu svojich procesov
- Bežný používateľ môže nastaviť iba hodnoty medzi -20 a 19 a môže nastaviť iba vyššiu hodnotu
- Superuser môže nastaviť komukoľvek procesy na akúkoľvek hodnotu, vysokú alebo nízku
Jednoduché riadenie procesov v systéme Linux
Viacužívateľské prostredie má niekoľko procesov, ktoré vyžadujú dostatočné znalosti o správe systémových prostriedkov, aby sa predišlo úzkym miestam a systémovým obmedzeniam. Časť úlohy zahŕňa riadenie procesov ich spúšťaním na pozadí/v popredí, ich zabíjaním alebo obnovovaním.
Môžete sa tiež dozvedieť o hlavnom príkazovom nástroji na zobrazenie a triedenie procesov a naučiť sa ukončiť nereagujúce procesy v systéme Linux.
Keď aplikácia pre Linux prestane reagovať a zlyhá, ako ju môžete zabiť? Vyskúšajte jeden z týchto trikov na vynútenie ukončenia programu v systéme Linux.
Prečítajte si ďalej
- Linux
- Počítačový procesor
- Linuxové príkazy
- Linux Elementary
Rumaisa je spisovateľkou na voľnej nohe v MUO. Nosila veľa klobúkov, od matematičky až po nadšenca informačnej bezpečnosti, a teraz pracuje ako analytička SOC. Medzi jej záujmy patrí čítanie a písanie o nových technológiách, distribúciách Linuxu a všetkom okolo informačnej bezpečnosti.
prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!
Kliknutím sem sa prihlásite na odber