Я попробовал код fork-бомбы:
:(){:|:&};:
и закрытый PuTTy. Теперь это не принимает новые соединения (Атака "отказ в обслуживании").
Как я могу восстановиться с этого?
Вам, возможно, понадобился бы к "жесткой" перезагрузке компьютер.
Принятие у Вас есть консольный доступ, Вы могли бы попытаться получить идентификатор группы процесса (PGID) и уничтожить это с:
kill -- -PGID
Или использование SIGKILL
вместо SIGTERM
:
kill -9 -- -PGID
, но не могло бы быть возможно получить PGID практически, поскольку система могла бы быть уже занята разветвленными процессами, создающими мертвую блокировку.
Эта мертвая блокировка может произойти, когда у Вас нет достаточного предела на количество процессов, пользователь или группа могут владеть, , таким образом, лучше установить нижний предел прежде, чем попробовать что-то разрушительное как fork-бомба.
Вы использовали классическую "fork-бомбу" для израсходования всех процессов системы, и теперь Ваш не может заставить систему выполнять процесс, чтобы помочь Вам (и все команды, программы, и т.д. потребовать, чтобы процесс работал "в"). Любое вмешательство должно будет прийти не из системы (например, сбросить VM, циклически повторить питание, CtrlAltDelete). Разве Вы не поняли то, что затем кодирует, говорит?
:(){:|:&};:
:()
Определяют функцию оболочки, вызванную ":".
{
Начинают определение функции, которая является:
:
Вызов ":" функция.
|
Канал вывод ":"
:
к другому вызову к ":"
&
Разветвляют процесс для помещения конвейера (:|:
) в фоновом режиме.
}
Конец определения функции ":"
;
Конец оператора оболочки, определяющего ":" функция
:
Вызов ":" функция для начала.
при выполнении кода, не понимая это Вы принимаете результаты кода.
Если Вы не можете подключение снова, у Вас нет шанса. Возможно, можно ожидать out of memory error
, Если Вы можете подключение, попробовать команду ниже
pkill -f :
<час> И как Вы сказали в своих комментариях
, я выполняю его в Сбросе поля
Virtual машина через VirtualBox.
Согласно этому теоретически должно быть возможно использовать Alt+SysRq+f для избавления от форк-бомбы — хотя, опять же, возможно возможно только в том случае, если ядро способно выделить достаточно памяти, чтобы убить его.