GNU/Linux >> Znalost Linux >  >> Linux

Zjistěte osiřelé procesy Linuxu

Je velmi důležité ukončit procesy Linuxu správným způsobem, aby se zabránilo zablokování Linuxu bez jakékoli stopy v souboru protokolu systému. Stručně řečeno, Linux se zasekne bez uvedení důvodů v systémovém protokolu, když je hlavní proces (init, PID 1) přetížen příliš mnoha osiřelými procesy najednou.

Normální uživatel, který má přístup k vašemu linuxovému serveru, může snadno zabít váš linuxový server během minuty!

Jak bychom mohli odhalit a zjistit útěk proces nebo osiřelý proces? Probíhá diskuse o zombie VS osiřelém procesu, osiřelé procesy jsou označeny jako:

nesystémové procesy nebo uživatelské procesy, které mají PPID (ID rodičovského procesu) 1 (ID procesu init), prostřednictvím mechanismu známého jako re-parenting.

Procesů, které vlastní proces init, není mnoho. Zdá se, že většina systémových procesů, které běží po spuštění systému, má PPID 1.

Brzy po spuštění systému Linux můžete spustit tento příkaz:

ps -elf | head -1; ps -elf | awk '{if ($5 == 1) {print $0}}'

Příkaz zaznamená všechny procesy s PPID 1. Tento výsledek si ponechte. Poté můžete příkaz pravidelně spouštět a porovnávat výsledek času se snímkem pořízeným dříve. Jakékoli rozdíly nalezené v novém snímku mohou být potenciálně osiřelé procesy.

Všimněte si, že nalezené rozdíly pouze naznačují, že se jedná o potenciální (nepotvrzující) osiřelé procesy v systému Linux. Před ukončením těchto procesů musíte získat více informací, abyste je mohli potvrdit. Například, jak figuruje STIME, využití CPU, pochopení účelu jeho provádění atd.

Jakmile je potvrdíte, neměli byste váhat a ukončit je co nejdříve pomocí příkazu kill -9, protože osiřelé procesy časem vyčerpají vaše systémové zdroje Linuxu.


Linux
  1. Jak zjistit, co dělá příkaz Linuxu

  2. Linux – Jak zjistit jmenný prostor konkrétního procesu?

  3. Linux – Jak najít procesy pomocí sériového portu?

  1. Linuxový příkaz ps

  2. Jak zjistit, které procesy využívají swapovací prostor v Linuxu?

  3. Linux zjistí Hyper-threaded core id

  1. Jak zjistit seznam všech otevřených portů v Linuxu

  2. Jak zjistím, jakou verzi Linuxu používám?

  3. Jak zjistit typ virtualizace linuxového VPS?