Nástroje pro práci s procesy
Z MiS
(Rozdíly mezi verzemi)
m (→Windows: Přidána informace o balíčku sysinternals.) |
(Doplněno lepší vysvětlení k fg a bg + vysvětlení zkratek + podrobněji vysvětlen kill.) |
||
Řádka 16: | Řádka 16: | ||
== Linux == | == Linux == | ||
+ | |||
; & | ; & | ||
*spuštění procesu na pozadí | *spuštění procesu na pozadí | ||
Řádka 24: | Řádka 25: | ||
; echo $$ | ; echo $$ | ||
*vrací PID aktuálního procesu | *vrací PID aktuálního procesu | ||
+ | |||
+ | === Zobrazení seznamu procesů === | ||
; ps | ; ps | ||
+ | * Zkratka z „ProcesseS“. | ||
*Standardně jen „moje“ procesy (potomci aktuálního procesu). | *Standardně jen „moje“ procesy (potomci aktuálního procesu). | ||
* Procesy všech uživatelů: | * Procesy všech uživatelů: | ||
ps aux | ps aux | ||
+ | |||
; top | ; top | ||
+ | * Zkratka z „TOP n processes according to ...“. | ||
+ | * Zobrazí procesy v pořadí podle využití procesoru či podle dalších kritérií. | ||
+ | * Průběžně aktualizuje výpis do doby, než program ukončíme stiskem klávesy <tt>q</tt>. | ||
* Ovládání | * Ovládání | ||
**z ... barvičky | **z ... barvičky | ||
Řádka 39: | Řádka 47: | ||
**Z = zombie | **Z = zombie | ||
*Nadstavba htop (knihovna ncurses) | *Nadstavba htop (knihovna ncurses) | ||
+ | |||
+ | |||
+ | === Posílání signálů a násilné ukončení procesu === | ||
; kill | ; kill | ||
*Pošle signál KILL | *Pošle signál KILL | ||
− | * | + | * Pomocí parametrů můžeme poslat libovolný signál. |
− | + | * Jako parametr zadáváme číslo procesu. | |
− | + | * Základní použití: | |
− | **uspí proces | + | kill -''signal'' ''pid'' |
− | **Vypíše číslo | + | * Příklady |
− | *bg <číslo> | + | kill 4562 |
+ | kill -TERM 4562 | ||
+ | kill -L | ||
+ | * Vypíše signály, které můžeme posílat. | ||
+ | |||
+ | ; killall | ||
+ | * Umožňuje ukončit všechny procesy s daným názvem procesu (podle názvu, nikoli podle PID). | ||
+ | |||
+ | |||
+ | === Spouštění úloh na popředí/pozadí === | ||
+ | |||
+ | ; Ctrl-Z | ||
+ | ** uspí aktuální běžící proces | ||
+ | ** Vypíše do výstupu číslo úlohy. Pomocí tohoto čísla můžeme proces znovu obnovit příkazy <code>bg</code> nebo <code>fg</code> viz dále. | ||
+ | ** Pozn.: úlohy jsou číslovány od jedničky a číslo úlohy neodpovídá PID daného procesu. | ||
+ | |||
+ | ; bg ''<číslo-úlohy>'' | ||
+ | ** Zkratka z ''BackGround'' — „spusť úlohu na pozadí“ | ||
** Spoustí uspaný proces na pozadí. | ** Spoustí uspaný proces na pozadí. | ||
− | + | bg 1 | |
+ | |||
+ | ; fg ''<číslo-úlohy>'' | ||
** Spoustí uspaný proces na popředí. | ** Spoustí uspaný proces na popředí. | ||
+ | ** Zkratka z ''ForeGround'' — „spusť úlohu na popředí“ | ||
+ | fg 1 | ||
+ | |||
<div class="Priklad"> | <div class="Priklad"> | ||
Zabití zaseknutého procesu: | Zabití zaseknutého procesu: | ||
Řádka 55: | Řádka 88: | ||
killall -STOP cat | killall -STOP cat | ||
</div> | </div> | ||
− | |||
− | |||
− | == Priority procesů == | + | |
+ | === Informace o běžících procesech === | ||
+ | * Viz [[Adresář /proc]]. | ||
+ | |||
+ | |||
+ | === Priority procesů === | ||
; nice | ; nice | ||
*který proces právě poběží určuje jádro podle priorit | *který proces právě poběží určuje jádro podle priorit | ||
Řádka 79: | Řádka 115: | ||
*Priorita vstupně-výstupních operací. | *Priorita vstupně-výstupních operací. | ||
*V balíku util-linux | *V balíku util-linux | ||
+ | |||
+ | |||
== Zdroje == | == Zdroje == | ||
* [http://www.abclinuxu.cz/clanky/unixove-nastroje-18-nice-renice-umask AbcLinuxu.cz > Unixove-nastroje-18-nice-renice-umask] | * [http://www.abclinuxu.cz/clanky/unixove-nastroje-18-nice-renice-umask AbcLinuxu.cz > Unixove-nastroje-18-nice-renice-umask] | ||
* Kódy stavů procesu: [http://slack-linux.blogspot.cz/2009/07/linux-process-state-codes.html Slack-linux.blogspot.cz > Linux-process-state-codes] | * Kódy stavů procesu: [http://slack-linux.blogspot.cz/2009/07/linux-process-state-codes.html Slack-linux.blogspot.cz > Linux-process-state-codes] |
Verze z 21. 10. 2020, 08:39
Obsah |
Windows
- Přehled procesů a využití prostředků
- Standardně ve Windows: Správce procesů (vyvoláme Ctrl-Alt-Del)
- Pokročilejší, podrobnější: Process Explorer (součást balíčku Sysinternals od Microsoftu).
- zdarma, není nutné instalovat,
- ale pro podrobné informace musí běžet pod účtem správce počítače.
- Informace o procesech
- Příslušenství-> Systémové nástroje-> Systémové informace
- Správa (spouštění, ukončování, restart) služeb
- Správa počítače-> Služby (viz Služby a démoni)
- msconfig
- Umožňuje jednorázově zakázat spouštění programů, které se jinak zavádí po spuštění počítače.
- Vhodné pokud si myslíme, že některý program není v systému potřeba, ale nejsme si jisti.
Linux
- &
- spuštění procesu na pozadí
- Příklady:
freemind & cat /dev/random > /dev/null &
- echo $$
- vrací PID aktuálního procesu
Zobrazení seznamu procesů
- ps
- Zkratka z „ProcesseS“.
- Standardně jen „moje“ procesy (potomci aktuálního procesu).
- Procesy všech uživatelů:
ps aux
- top
- Zkratka z „TOP n processes according to ...“.
- Zobrazí procesy v pořadí podle využití procesoru či podle dalších kritérií.
- Průběžně aktualizuje výpis do doby, než program ukončíme stiskem klávesy q.
- Ovládání
- z ... barvičky
- q ... ukončit
- Kódy stavů procesu
- D = v "nepřerušitelném spánku"
- R = běžící nebo ready
- S = spící
- T = traceovaný nebo zastavený
- Z = zombie
- Nadstavba htop (knihovna ncurses)
Posílání signálů a násilné ukončení procesu
- kill
- Pošle signál KILL
- Pomocí parametrů můžeme poslat libovolný signál.
- Jako parametr zadáváme číslo procesu.
- Základní použití:
kill -signal pid
- Příklady
kill 4562 kill -TERM 4562 kill -L
- Vypíše signály, které můžeme posílat.
- killall
- Umožňuje ukončit všechny procesy s daným názvem procesu (podle názvu, nikoli podle PID).
Spouštění úloh na popředí/pozadí
- Ctrl-Z
- uspí aktuální běžící proces
- Vypíše do výstupu číslo úlohy. Pomocí tohoto čísla můžeme proces znovu obnovit příkazy
bg
nebofg
viz dále. - Pozn.: úlohy jsou číslovány od jedničky a číslo úlohy neodpovídá PID daného procesu.
- bg <číslo-úlohy>
- Zkratka z BackGround — „spusť úlohu na pozadí“
- Spoustí uspaný proces na pozadí.
bg 1
- fg <číslo-úlohy>
- Spoustí uspaný proces na popředí.
- Zkratka z ForeGround — „spusť úlohu na popředí“
fg 1
Zabití zaseknutého procesu:
cat /dev/zero > /dev/null & killall -STOP cat
Informace o běžících procesech
- Viz Adresář /proc.
Priority procesů
- nice
- který proces právě poběží určuje jádro podle priorit
- standardně 0, může zvýšit; rozsah (-20; 19)
- vyšší hodnota znamená, že poběží nepřerušovaně delší dobu, ale ve větších intervalech
- nižší hodnota => rychlejší odezva (vyšší priorita)
nice program
- standardně zvýší hodnotu o 10
nice -n 5 program
- zvýší hodnotu o 5
Vyzkoušejte:
nice nice nice nice -n 19 nice //hodnotu dědí od svého rodiče
- renice
- mění prioritu procesů
- ionice
- Priorita vstupně-výstupních operací.
- V balíku util-linux
Zdroje
- AbcLinuxu.cz > Unixove-nastroje-18-nice-renice-umask
- Kódy stavů procesu: Slack-linux.blogspot.cz > Linux-process-state-codes