GNU/Linux >> Znalost Linux >  >> Linux

Proč následující příkaz zabíjí systém?

Rozumí někdo následujícímu kódu běžícímu v bash?

:(){ :|:& };:

Zdá se, že je to „fork “bomba na Linuxu.

Přijatá odpověď:

Ve skutečnosti to není tak těžké rozluštit.

Tento kus kódu pouze definuje funkci s názvem : který volá dvě instance sebe sama v potrubí::|:& . Po definici se spustí instance této funkce.

To vede k rychle rostoucímu počtu subshell procesů. Nechráněné systémy (systémy bez limitu počtu procesů na uživatele) budou takovými rozvětvenými bombami vážně postiženy, protože legitimní procesy budou rychle přečísleny, a tak budou připraveny o většinu zdrojů CPU.


Linux
  1. Průvodce příkazem Linux „Top“.

  2. Jak mohu spustit kód PHP z příkazového řádku?

  3. Kde najdu zdrojový kód příkazu cp?

  1. Změňte výchozí příkaz find-grep v emacsu

  2. Proč příkaz Linux wall nevysílá argument řetězce?

  3. Linuxový příkaz, který určí, zda je stroj fyzický nebo virtuální

  1. Zvládněte příkaz Linux ls

  2. Jak spustit příkaz jako správce systému (root)?

  3. Linux – Proč v systému není přítomen žádný souborový systém Rootfs?