GNU/Linux >> Znalost Linux >  >> Linux

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

Toto je soubor cvičení následujících po článku Vysvětlení procesů v Linuxu.

Pokud jste si pozorně přečetli článek a porozuměli principům podrobně uvedeným uvnitř, měli byste být schopni odpovědět na většinu otázek.

Pokud najdete nějaké chyby nebo nepřesnosti, neváhejte zanechat komentář.

Hodně štěstí!

Základy procesů

  • Otázka 1 :na vašem hostiteli Linuxu běží mnoho procesů najednou. Jedna informace však může jednoznačně identifikovat proces.

Jak se tomu říká?

Rozbalte MeOn Linux, proces lze jednoznačně identifikovat pomocí PID (nebo ID procesu), které nelze přiřadit dvěma odlišným procesům současně.
  • Otázka 2 :když váš systém nabootuje, spustí úplně první proces ve vaší instanci.

Jak se tomu říká?

Expand MeIt se nazývá proces init a používá se ke spouštění inicializačních skriptů pro síť, úlohy nebo moduly. V posledních distribucích byl nahrazen procesem systemd.
  • Otázka 3 :aktuálně máte na svém hostiteli otevřený shellový terminál a provedete následující příkaz.

Jaká jsou interně vyvolána systémová volání k provedení takového příkazu?

Rozbalte MeFirst, jádro rozdělí aktuální proces (tj. interpret bash) na nový proces. Dále bude obraz bash procesu nahrazen načteným obrazem programu ls. Nakonec je příkaz vykonán.
  • Otázka 4 :na svém hostiteli otevřete shellový terminál kliknutím na „Terminál“.

Stručně popište, jak terminál funguje .

Expand MeThe terminál je jednoduchý interaktivní proces, který neustále čeká na vstup uživatele. Když je zadán příkaz, příkaz se provede rozvětvením se do nového procesu a provedením příkazu v něm. Mezitím rodičovský proces (tj. samotný terminál) čeká na ukončení podřízeného procesu. Po dokončení se nadřazený proces obnoví.

Zpracovává příkazy

  • Otázka 5 :správce systému vás požádá o identifikaci všech procesů, které na hostiteli vlastníte.

Který příkaz byste k tomu spustili?

Rozbalte MeNejjednodušší způsob, jak toho dosáhnout, je provést příkaz ps. Ve výchozím nastavení nebude hlásit zařízení tty, ale můžete se rozhodnout spustit „ps u“, abyste viděli všechny procesy.
  • Otázka 6 :správce systému vás požádá o identifikaci všech procesů ve vašem systému.

Můžete poskytnout dva příkazy, které zobrazí všechny procesy na hostiteli?

Rozbalte MeChcete-li zobrazit všechny procesy v Linuxu, můžete použít buď „ps aux“ (což je syntaxe BSD) nebo „ps -ef“ (což je syntaxe POSIX)
  • Otázka 7 :jaký příkaz zobrazí procesy jako strom v systému Linux?
Rozbalit Me Chcete-li zobrazit všechny procesy jako strom procesů, musíte použít příkaz „pstree“.

Procesy na pozadí a v popředí

  • Otázka 8 :jaká syntaxe se používá v Linuxu k provedení procesu na pozadí?
Expand MeChcete-li provést proces na pozadí, musíte na konec příkazu připojit znak „&“.
  • Otázka 9 :Jaký je termín, který popisuje proces, který byl spuštěn v terminálovém shellu?
Proces Expand MeA spuštěný v prostředí shell se nazývá „úloha“ a příkaz jobs zobrazuje vaše aktuální úlohy prostředí.
  • Otázka 10 :provedli jste příkaz na pozadí, ale chcete, aby byl proces spuštěn na popředí.

Jaký příkaz byste provedli?

Rozbalte MeThe job je 1, takže byste spustili „fg %1“
  • Otázka 11 :váš proces je nyní spuštěn v popředí .

Jaké ovládací prvky byste stiskli na klávesnici, abyste proces zastavili (a nezabili)?

Expand MeChcete-li zastavit proces nebo odeslat signál SIGSTOP procesu, musíte stisknout Ctrl + Z.
  • Otázka 12 :váš proces je nyní přerušen.

Jak byste obnovili provádění na pozadí?

Rozbalit MeChcete-li obnovit provádění, můžete provést příkaz „bg %1“.
  • Otázka 13 :jaké klávesy můžete stisknout na klávesnici, abyste poslali SIGINT procesu v popředí?
Rozbalit Me Chcete-li odeslat SIGINT na signál v popředí, museli byste stisknout Ctrl + C.

Signály a procesy

  • Otázka 14 :jak byste definovali signál, pokud jde o procesy?
Rozbalit MeOn Linux, signály jsou formou meziprocesové komunikace (také nazývané IPC), která vytváří a odesílá asynchronní upozornění běžícím procesům o výskytu konkrétní události. Signály mohou být informační (například SIGUSR1, SIGUSR2) nebo je lze použít k předání konkrétního příkazu procesu (přerušení, zastavení, zabití)
  • Otázka 15 :jaký signál se v Linuxu používá k šetrnému vypnutí procesu?
Rozbalte proces MeChcete-li vypnout proces, musíte použít signál SIGTERM (také známý jako signál číslo 15)
  • Otázka 16 :na druhou stranu, řekněme, že chcete okamžitě zabít proces, jaký signál byste k tomu použili? Jaké je číslo tohoto signálu?
Rozbalte MeChcete-li zabít proces, aniž byste mu dali šanci se elegantně vypnout, musíte vydat signál SIGKILL (také známý jako signál 9)
  • Otázka 17 :ve vašem terminálovém shellu jste provedli následující příkaz.

Proces trvá dlouho, takže se rozhodnete opustit hostitele a vypnout aktuální terminál.

Co se stalo?

Expand MeKdyž jste zavřeli terminál, byl do procesu odeslán signál SIGHUP. V důsledku toho byl proces okamžitě zastaven.
  • Otázka 18 :jaká řešení můžete poskytnout, abyste se vyhnuli tomu, co se právě stalo?
Rozbalte Me Chcete-li zabránit zabití procesu signálem SIGHUP, můžete použít příkaz „nohup“ následujícím způsobem „nohup ./script &“
  • Otázka 19 :Z hlavy, můžete poskytnout další signály používané v systémech Linux?
Rozbalte MeSIGQUIT signál vyvolaný při ukončení interaktivní relace. Může být použit v terminálových shellech nebo například v relacích SSH. SIGCONT je signál používaný k obnovení zastaveného procesu (po SIGSTOP)

Příkazy pro pokročilé procesy

  • Otázka 20 :jaký příkaz se v Linuxu používá k vypsání všech procesů se specifickým vzorem?
Rozbalte MeChcete-li hledat procesy podle konkrétního vzoru, můžete použít příkaz „pgrep“ s následující syntaxí „pgrep
  • Otázka 21 :jaký příkaz byste použili, abyste snadno zabili (SIGKILL) všechny procesy začínající na „fire“?
Rozbalte MeChcete-li zabít všechny procesy začínající na „fire“, spustili byste „pkill fire*“
  • Otázka 22 :Jaký příkaz se v systému Linux používá ke spuštění procesu s vlastní úrovní priority?
Expand Me„Pěkné“ je příkaz používaný k provedení příkazu s vlastní prioritou, aby spotřeboval více či méně prostředků CPU.
  • Otázka 23 :proces má pěknou úroveň 19, bude využívat co nejvíce zdrojů?
Rozbalte MeNo, čím hezčí proces, tím více jste ochotni sdílet zdroje s ostatními. V důsledku toho má proces velmi nízkou úroveň priority.
  • Otázka 24 :jaká je výchozí pěkná úroveň při vytváření procesů v Linuxu?
Expand Me Ve výchozím nastavení jsou procesy vytvářeny s pěknou úrovní 0.
  • Otázka 25 :jako uživatel, který nepoužívá sudo, můžete vytvořit proces s pěknou úrovní -5?
Rozbalte MeNo, uživatelé bez sudo nejsou schopni vytvářet procesy s úrovní nice nižší, než je přiřazena výchozí. Navíc, když vytvoříte proces s vlastní úrovní nice, nemůžete ji snížit, i když je větší než nula.
  • Otázka 26 :jaký příkaz lze použít k nastavení priority běžícího procesu na Linuxu?
Rozbalit Me Chcete-li upravit prioritu běžícího procesu, musíte použít příkaz „renice“ s touto syntaxí „renice -n <číslo>

Monitorování procesů

  • Otázka 27 :jaký příkaz lze v Linuxu použít ke sledování procesů v reálném čase?
Rozbalte zdroje monitorování MeTo používané procesy, můžete použít příkaz „top“ nebo příkaz „htop“ pro příjemnější zobrazení.
  • Otázka 28 :jakou zkratku lze použít v horním příkazu ke změně obnovovací frekvence?
Rozbalte MeChcete-li změnit obnovovací frekvenci, můžete stisknout klávesu „d“ a nastavit ji například na 1.0.
  • Otázka 29 :jakou volbu lze použít k provedení horního příkazu pro vlastní počet iterací?
Rozbalte MePro provedení „top“ pro daný počet iterací můžete použít „top –n
  • Otázka 30 :znáte nějaká další řešení, jak efektivně monitorovat procesy v Linuxu?
Rozbalte systémy MeTo monitor Linux, správce systému může použít Cockpit, Grafana, Prometheus, Nagios nebo Telegraf.

Závěr

Díky těmto cvičením procesů v Linuxu jste se doufejme dozvěděli více o procesech, o tom, jak s nimi zacházet a jak je efektivně monitorovat.

Chcete více cvičení?

  • 30 cvičení oprávnění systému Linux pro správce systému

Pokud vás zajímá správa systému Linux, máme na webu celou sekci, která se jí věnuje.


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

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

  3. Linuxový příkaz ps

  1. 12 Příklady IP příkazů pro uživatele Linuxu

  2. Příklady příkazů 20 ps pro monitorování procesů Linuxu

  3. Příkaz Ps v Linuxu (seznam procesů)

  1. Příkaz Pstree v Linuxu

  2. Kill Command v Linuxu

  3. Příkaz Pgrep v Linuxu