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
bgnebofgviz 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