GNU/Linux >> Linux Esercitazione >  >> Linux

Perché il seguente comando sta uccidendo un sistema?

Qualcuno capisce il codice seguente, in esecuzione in bash?

:(){ :|:& };:

Sembra essere un "fork ” bomba su Linux.

Risposta accettata:

In effetti, non è così difficile da decifrare.

Questo pezzo di codice definisce semplicemente una funzione denominata : che chiama due istanze di se stesso in una pipeline::|:& . Dopo la definizione viene avviata un'istanza di questa funzione.

Ciò porta a un numero in rapido aumento di processi di subshell. I sistemi non protetti (sistemi senza un limite di numero di processi per utente) saranno gravemente colpiti da tali fork bomb poiché i processi legittimi saranno rapidamente superati in numero e quindi privati ​​della maggior parte delle risorse della CPU.


Linux
  1. Padroneggia il comando ls di Linux

  2. Una guida al comando "Top" di Linux

  3. Come posso eseguire il codice PHP dalla riga di comando?

  4. Da dove posso trovare il codice sorgente del comando cp?

  5. Cambia il comando find-grep predefinito in emacs

Comando di spegnimento di Linux

Conosci il tuo sistema (usando la riga di comando)

Il comando principale di Linux

Come utilizzare il comando fd sul sistema Linux

Come installare e utilizzare il comando Ack in Linux

Il comando System Activity Reporter (sar) in Linux