Почему эта команда отключает Linux

Возможный дубликат:
Что означает эта критическая команда bash?

Почему эта команда отключает Linux?

:(){ :|:& };: 

  • Список подкаталогов на одном уровне вниз, которые не содержат определенного файла
  • Удаление файлов, но дисковое пространство по-прежнему заполнено
  • DD от / dev / zero до / dev / null ... что на самом деле происходит
  • Почему меньше, когда у вас может быть больше? (Пейджеры на * Nix)
  • Как объединить несколько файлов в один?
  • Как удалить все, кроме 10 самых новых файлов в Linux?
  • Как проверить память в Linux?
  • Как я могу использовать nohup, если сценарий оболочки занимает больше времени для запуска?
  • 4 Solutions collect form web for “Почему эта команда отключает Linux”

    Это называется вилкой .

    Команда определяет функцию с именем : которая при вызове порождает две копии себя в фоновом режиме и завершает работу. Эти две копии делают то же самое, что приводит к огромному количеству процессов всего за секунду, продолжая бесконечно.

    Ниже приведена точно такая же функция, но с более читаемым именем:

     foo() { foo | foo & } foo 

    Он развивает процессы на фоне бесконечно. Через некоторое время происходит слишком много процессов, каждый из которых принимает небольшое количество системных ресурсов.

    С технической точки зрения система не разбилась. Сбой системы вызывает выход с ошибками. Он не повесился. Это означало бы, что система что-то делает и не вернулась. В конкретном случае он работает правильно. Это требует слишком долгого ответа, потому что компьютерная реализация имеет ограниченные ресурсы. Следовательно, бесконечные процессы и конечные ресурсы приводят к бесконечному времени реагирования.

    Давайте будем гением компьютера.