2014-11-29 6 views
4

,_,(){ ,_,| ,_,&};,_,Что делает эта команда в bash:, _,() {, _, | , _, &};, _,

Я не уверен, что это значит ...

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

ответ

11

Это fork bomb; он будет порождать (потенциально) бесконечное количество процессов, пока ваша система не исчерпает ресурсы (и обычно становится неработоспособной).

Он определяет функцию с именем ,_,, которая запускается сама (рекурсия) и передает вывод на себя. Последние ,_, необходимо для начала.

отформатирован, и с ,_, заменен fun, он выглядит следующим образом:

fun() { 
    fun | fun & 
}; 
fun 

Каждый вызов fun породит еще 2 инвокации fun. & запускает процессы в фоновом режиме (скорость увеличения процесса составляет экспоненциальный).

Это вариант better known:() { :|: & };:

Есть способы, чтобы предотвратить вашу систему от сбоев, хотя; например, в Linux вы можете редактировать /etc/security/limit.conf & установить максимальное количество процессов для пользователя. Другие системы имеют другие (обычно похожие) методы.

Запуск вилочной бомбы и сбой вашей системы, по-видимому, является чем-то вроде обхода для пользователей UNIX; он учит:

  1. Важность введения ограничений ресурсов процессов;
  2. , что копирование & выполнения команд вы не понимаете, из ненадежных источников (например, Интернета) не является хорошей идеей
+0

ааа спасибо большое за объяснения, это имеет смысл для меня сейчас. – Stock

Смежные вопросы