Понимание этого заявления оболочки


8

Я признаю, что это домашнее задание, но я потерял объяснение следующей командной строки:

ВНИМАНИЕ : Это так называемая вилка бомба! Эта командная строка может и приведет к краху вашего компьютера, потребляя всю оперативную память и процессор (поверьте мне, я попробовал это ...)

:(){ :|:& };:

Поскольку я знаю, что я должен сделать это один здесь, это то, что я имею до сих пор (поиск этих символов очень обескураживает).

  1. Канал позволяет объединять некоторые команды вместе, так что первый вывод используется вторым в качестве ввода.
  2. & Является для запуска команды в фоновом режиме (в основном используется для запуска чего-то из оболочки, которая не должна блокироваться командой)

Я думаю, что: это вилка? Но здесь я полностью потерян! Я готов учиться, так что, может быть, у кого-то есть хороший ресурс, где я могу прочитать об этом?


@kkp: разве ваша система не реагирует на сбой? Решение исправить это то же самое:
полная

Да, ты прав.
Самараса

FORKBOOOOOMB: D
zookalicious

Ответы:


14
:()      # define ':' -- whenever we say ':', do this:
{        # beginning of what to do when we say ':'
    :    # load another copy of the ':' function into memory...
    |    # ...and pipe its output to...
    :    # ...another copy of ':' function, which has to be loaded into memory
         # (therefore, ':|:' simply gets two copies of ':' loaded whenever ':' is called)
    &    # disown the functions -- if the first ':' is killed,
         #     all of the functions that it has started should NOT be auto-killed
}        # end of what to do when we say ':'
;        # Having defined ':', we should now...
:        # ...call ':', initiating a chain-reaction: each ':' will start two more.

Источник: Forkbombs в Википедии


спасибо ... это звучит довольно злобно! Не знал, что вы можете определить метод таким образом. очень интересно
WarrenFaith

не могли бы вы рассказать мне, как вы нашли эту статью в Википедии? Я пытался, но
безуспешно

Я уже знал, что искать;)
Эгиль

2
Итак, вы злой плохой хакер :) в любом случае, спасибо! мне очень помогли
WarrenFaith

Большинство из нас, кто просматривал форумы Ubuntu, много раз получали предупреждение о запуске forkbombs или sudo rm rf, вы знаете все остальное и т. Д. Не знаю, откуда Эгил и получил это: P
zookalicious
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.