přejít na obsah přejít na navigaci

Linux E X P R E S, Jak pozastavit proces

Jak pozastavit proces

Aneb když potřebujete, aby počítač dělal něco jiného ..


V dnešní době vícejádrových procesorů sice systém zvládne obsloužit více procesů v jednom okamžiku, ale i tak jich nikdy není tolik, abychom mohli být plně spokojeni a dělat to o čem ženy tvrdí, že muž nikdy nezvládne, tedy více činností najednou. Co tedy dělat v situaci, kdy vám běží něco co zatěžuje systém, ale zároveň potřebujete (i když krátkodobě) přesměrovat výkon do jiného procesu či aplikace?

Jaký proces zatěžuje systém?

Kdo by neznal program top, tomu můžu doporučit program htop. Ten se mi moc líbí. Práce s ním je intuitivní a tak to určitě nebude problém zjistit.

htop.png

Z výstupu programu je potřeba vyčíst tzv. PID, tedy Process ID (jednoznačný identifikátor každého procesu). Pokud víte jak se proces jmenuje, můžete také zadat např.

ps aux | grep <jméno procesu>

tedy např.

ps aux | grep mencoder

a číslo procesu se zobrazí hned  ve druhém sloupečku (hned za jménem uživatele, který proces spustil).

Pozastavení procesu

No, po pravdě řečeno by se k tomu dal použít právě třeba program htop, ale také nejdeno grafické klikátko. Na druhou stranu to provedete díky znalosti PID procesu takto:

kill -STOP <PID procesu>

např.

kill -STOP 123456

I když příkaz vypadá na první pohled zvláštně, obzvlášť příkaz kill (zabít) budí hrůzu, procesu posíláte pouze signál STOP.

Pokud víte jak se program jmenuje a nechce se vám zjišťovat jeho PID, můžete použít příkaz killall.

killall -s STOP <jméno procesu>

např.

killall -s STOP mencoder

Spuštění pozastaveného procesu

Pro pokračování běhu pozastaveného programu se používá signál CONT (od slova continue - pokračovat), program tedy opět spustíte takto

kill -CONT <PID procesu>

resp.

killall -s CONT <jméno procesu>

A co změna priority procesu?

Stejně jako v jiných systémech, i v Linuxu můžete nastavit prioritu (oblíbenost) vašeho procesu. Platí, že procesy s vyšší prioritou mají přednost před těmi s prioritou nižší. Toho by se dalo využít i v našem případě, nastavit vyšší prioritu procesu, u kterého si to přejeme. Ovšem v tomto případě zůstává proces s nižší prioritou stále aktivní (vykonává se) a tak bude vytížení CPU stále na 100%, i když budou mít ostatní procesy (s vyšší prioritou) přednost. Ale o tom třeba někdy příště.

Zdroj

http://tombuntu.com/index.php/2007/11/23/how-to-pause-a-linux-process/

Nahoru

Přidat téma diskuse

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Martin Šín

Martin Šín

Martin Šín (*1980) vystudoval pedagogickou fakultu a nyní pracuje jako učitel matematiky a výpočetní techniky na střední škole. Ve volném čase překládá a také hraje hry (ani jedno mu příliš nejde). V práci se snaží prosazovat open-source programy.


  • Distribuce: Debian

| proč linux