GNU/Linux >> Znalost Linux >  >> Linux

Linux Command Basics:7 příkazů pro správu procesů

Předpokládejme, že poprvé prozkoumáváte příkazový řádek Linuxu nebo vstupujete do administrace Linuxu. V takovém případě je základní znalost toho, jak obcházet terminál a provádět základní úkoly, na nízké úrovni. Abychom vám pomohli porozumět těmto pojmům, podívejte se na mé předchozí dva články:

  • 10 příkazů, které vám pomohou začít s terminálem
  • 10 dalších příkazů pro manipulaci se soubory

Pokud se však s těmito koncepty cítíte dobře, posuneme vaše znalosti Linuxu v tomto článku o něco dále. Podíváme se na procesy a na to, jak je spravovat.

Takže, co přesně je proces ?

V Linuxu je proces jakákoli aktivní (běžící) instance programu. Ale co je to program ? Technicky vzato je program jakýkoli spustitelný soubor uložený v úložišti na vašem počítači. Kdykoli spustíte program, vytvořili jste proces. Na základní úrovni je to docela snadné spravovat a na to se dnes podíváme.

Co potřebujete, abyste mohli začít

Doporučuji, abyste to sledovali na svém oblíbeném virtuálním počítači. Tímto způsobem se můžete pokusit a selhat bez následků (což je rozhodně nejlepší způsob, jak se u terminálu pohodlně usadit).

U této ukázky spustím proces spánku na 500 sekund. Tento přístup vám umožňuje vidět proces, aniž bych ve svém systému prováděl smysluplné změny.

[tcarrigan@client ~]$ spánek 500^Z[1]+  Zastaveno                 spánek 500 

Poté jsem proces zastavil pomocí Ctrl+Z abychom mohli používat náš terminál.

1. Seznam procesů

Chcete-li zobrazit aktuálně aktivní procesy, použijte ps příkaz:

[tcarrigan@client ~]$ ps    PID TTY          TIME CMD   2648 pts/0    00:00:00 bash   3293 pts/0    00:00:00 spánek  0  00:0  kód> 

Zde získáte malé informace o aktivních procesech ve vašem systému. Budete chtít věnovat pozornost PID (jedinečné ID procesu), TIME (doba, po kterou proces běží), a CMD (příkaz spuštěný ke spuštění procesu).

2. Podrobný seznam (procesů)

Chcete-li zobrazit neuvěřitelně podrobný seznam procesů, můžete použít ps aux příkaz.

  • a – všichni uživatelé
  • u – zobrazuje uživatele/vlastníka
  • x – zobrazuje procesy, které nejsou v terminálu provedeny (výstup je proto poměrně dlouhý)

Příkaz můžete vidět zde (výstup upraven pro délku):

[tcarrigan@client ~] $ ps auxuser PID %cpu %mem vsz rss tty stat čas příkazového příkazu+ 3293 0,0 0,0 215292 520 bodů/0 t 13:41 0:00 Sleep 500root 3380 0,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 I    13:45   0:00 [kworker/1:1-mm_percpu_wq]root        3381  0.0  0.0      0     0 ? I    13:45   0:00 [kworker/1:3]kořen        3398  0.0  0.0      0     0 ? I    13:46   0:00 [kworker/3:2-ata_sff]root        3481  0.0  0.0      0     0 ? I    13:50   0:00 [kworker/u8:2-flush-253:0]root        3482  0.0  0.0      0     0 ? I    13:50   0:00 [kworker/0:1-events]root        3483  0.0  0.0      0     0 ? I    13:50   0:00 [kworker/0:2]kořen        3508  0.0  0.0      0     0 ? I    13:51   0:00 [kworker/3:0-ata_sff]root        3511  0.0  0.0  18892  7732 ? S    13:52   0:00 systemd-userworkroot        3512  0,0  0,0  18892  7656 ? S    13:52   0:00 systemd-userworkroot        3513  0,0  0,0  18892  7656 ? S    13:52   0:00 systemd-userworkroot        3566  0,4  0,0 432792  8024 ? Ssl  13:54   0:00 /usr/libexec/fprintdtcarrig+    3598  0.0  0.0 228208  3948 pts/0    R+   13:54   0:00 ps aux

3. Kill by PID

Proces se nevyhnutelně zasekne a vy budete muset zabít to. Čím více času strávíte v CLI, tím je pravděpodobnější, že budete potřebovat kill příkaz. Nejpřesnější způsob, jak identifikovat proces, je pomocí ID procesu (PID).

Použijte následující syntaxi:

[tcarrigan@client ~]$ kill PID 

Tento příkaz odešle SIGTERM signál. Pokud však máte co do činění se zaseknutým procesem, přidejte -9 možnost.

[tcarrigan@client ~]$ ps    PID TTY          TIME CMD   2648 pts/0    00:00:00 bash   3293 pts/0    00:00:00 spánek  04:00:00 spánek  04 00:07 spánek:0 04 07 0 0 /0    00:00:00 spánek  40540 bodů/0    00:00:00 ps[tcarrigan@client ~]$ sudo kill -9 3293[sudo] heslo pro tcarrigan: [1]   Zabito 5      >      code 

4. Zabít podle jména/klíčového slova

Použijte killall příkaz k ukončení procesu podle jména. Tento příkaz ukončí všechny procesy s klíčovým slovem/názvem, které zadáte.

Syntaxe je:

[tcarrigan@client ~]$ killall spánek 

To by zabilo veškerý spánek procesy aktivní v systému (-9 možnost funguje i zde). Zde je příklad:

[tcarrigan@client ~]$ ps    PID TTY          TIME CMD   2648 pts/0    00:00:00 bash   4684 pts/0    00:00:00 spánek  04:04 spánek 04 05 0 0 04 /0    00:00:00 ps[tcarrigan@client ~]$ killall -9 spánek [2]-   Zabito                  spánek 500[3]+   Zabito                0  sleep>
 5 

Tyto dva následující příkazy jdou ruku v ruce. Umožňují vám přesouvat/spravovat příkazy na pozadí. Níže podám základní pohled na syntaxi; nicméně pro podrobný pohled na tyto příkazy viz můj předchozí článek na toto téma.

5. Vypsat úlohy na pozadí a obnovit úlohy na pozadí

Pro výpis a správu úloh na pozadí použijeme bg příkaz. Spustil jsem nový sleep 500 proces a poté jej zastavil a odeslal na pozadí. Vidíme jej tedy uvedený při spuštění bg níže:

[tcarrigan@client ~]$ bg[1]+ spánek 500 & 

6. Přenést do popředí nejnovější úlohu

K tomu použijeme fg příkaz. Tím se do popředí dostane naposledy spuštěná úloha/proces. Následující příklad je pokračováním výše uvedeného příkazu. 500 spánku proces, který je na pozadí, je nyní aktivní na pozadí. Pojďme to vynést na světlo...

[tcarrigan@client ~]$ fgsleep 500 

Tento příkaz nás přivádí k našemu poslednímu příkazu v tomto seznamu.

7. Přeneste do popředí konkrétní úlohu

Použijte fg příkaz znovu, ale vyberte konkrétní úlohu, kterou chcete přenést do popředí (místo nejnovější). Chcete-li to provést, přidáme k příkazu název úlohy/procesu.

[tcarrigan@client ~]$ fg XXXample 

To přináší úlohu XXXample do popředí.

[ Chcete si vyzkoušet své schopnosti správce systému? Proveďte hodnocení dovedností ještě dnes. ] 

Koneckonců

V dnešním Linux Command Basics jsme se podívali na procesy a jak je spravovat. Nyní můžete provádět obecné úlohy správy procesů – vše od výpisu a zabíjení až po přesun mezi pozadím a popředím. Pokud existují další obecné oblasti správy Linuxu, pro které byste rádi viděli vyhrazený seznam příkazů, zašlete e-mail týmu na adresu [email protected] a já udělám vše, co bude v mých silách, abych to pro vás uvedl.


Linux
  1. 3 Užitečné Linuxové příkazy pro systémové administrátory

  2. Tipy pro příkazový řádek Linuxu pro zvýšení produktivity

  3. Linuxový příkaz echo

  1. 20 základních příkazů Linuxu pro každého uživatele

  2. 8 Linuxových příkazů pro efektivní řízení procesů

  3. 30 Cvičení procesů Linuxu pro systémové správce

  1. Linuxové příkazy od A do Z

  2. Nejlepší základní Linuxové příkazy pro začátečníky

  3. Linux Základy příkazového řádku – Spouštění příkazů z příkazového řádku