Понимание этого утверждения оболочки

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

ПРЕДУПРЕЖДЕНИЕ: Это так называемая FORK BOMB! Эта командная строка может и будет разбивать ваш компьютер, потребляя всю RAM и CPU (поверьте мне, я попробовал это ...)

:(){ :|:& };:

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

Труба позволяет объединить некоторые команды вместе, чтобы первый вывод использовался вторым в качестве входа. & Amp; это запустить команду в фоновом режиме (в основном используется для запуска чего-то из оболочки, которая не должна блокироваться командой)

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

8
задан 9 June 2011 в 04:26

9 ответов

:() # 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 в Википедии

14
ответ дан 25 July 2018 в 21:45
  • 1
    спасибо ... это звучит довольно злобно! Не знал, что вы можете определить метод таким образом. очень интересно – WarrenFaith 8 June 2011 в 23:02
  • 2
    не могли бы вы рассказать мне, как вы нашли эту статью в Википедии? Я пытался, но не добился успеха ... – WarrenFaith 8 June 2011 в 23:14
  • 3
    Я уже знал, что искать;) – Egil 8 June 2011 в 23:17
  • 4
    Хорошо, так что ты злой плохой хакер :) Спасибо в любом случае! мне очень помогли – WarrenFaith 8 June 2011 в 23:18
  • 5
    Большинство из нас, которые просматривали форумы Ubuntu, неоднократно предупреждали о запуске forkbombs или sudo rm rf, вы знаете, что остальное и т. Д. ... Не знаю, откуда именно это сделал Egil: P – zookalicious 9 June 2011 в 03:55
:() # 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 в Википедии

14
ответ дан 26 July 2018 в 15:46
:() # 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 в Википедии

14
ответ дан 31 July 2018 в 11:05
:() # 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 в Википедии

14
ответ дан 2 August 2018 в 03:21
:() # 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 в Википедии

14
ответ дан 4 August 2018 в 19:18
:() # 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 в Википедии

14
ответ дан 6 August 2018 в 03:31
:() # 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 в Википедии

14
ответ дан 7 August 2018 в 21:19
  :() # define ':' - всякий раз, когда мы говорим ':', делаем следующее: {# начало того, что делать, когда мы говорим ':': # загружать другую копию функции ':'  в память ... |  # ... и вывести его вывод в ...: # ... другую копию функции::, которая должна быть загружена в память # (следовательно, ': |:' просто получает две копии загружаемого файла::  когда ':' вызывается) & amp;  # отключить функции - если первый «:» убит, # ​​все запущенные функции НЕ должны быть автоматически убиты} # конец того, что делать, когда мы говорим «:»;  # Определив ':', мы должны теперь ...: # ... вызвать ':', инициируя цепную реакцию: каждый ':' начнет еще два.   

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

14
ответ дан 10 August 2018 в 09:37
  :() # define ':' - всякий раз, когда мы говорим ':', делаем следующее: {# начало того, что делать, когда мы говорим ':': # загружать другую копию функции ':'  в память ... |  # ... и вывести его вывод в ...: # ... другую копию функции::, которая должна быть загружена в память # (следовательно, ': |:' просто получает две копии загружаемого файла::  когда ':' вызывается) & amp;  # отключить функции - если первый «:» убит, # ​​все запущенные функции НЕ должны быть автоматически убиты} # конец того, что делать, когда мы говорим «:»;  # Определив ':', мы должны теперь ...: # ... вызвать ':', инициируя цепную реакцию: каждый ':' начнет еще два.   

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

14
ответ дан 13 August 2018 в 15:48
  • 1
    спасибо ... это звучит довольно злобно! Не знал, что вы можете определить метод таким образом. очень интересно – WarrenFaith 8 June 2011 в 23:02
  • 2
    не могли бы вы рассказать мне, как вы нашли эту статью в Википедии? Я пытался, но не добился успеха ... – WarrenFaith 8 June 2011 в 23:14
  • 3
    Я уже знал, что искать;) – Egil 8 June 2011 в 23:17
  • 4
    Хорошо, так что ты злой плохой хакер :) Спасибо в любом случае! мне очень помогли – WarrenFaith 8 June 2011 в 23:18
  • 5
    Большинство из нас, которые просматривали форумы Ubuntu, неоднократно предупреждали о запуске forkbombs или sudo rm rf, вы знаете, что остальное и т. Д. ... Не знаю, откуда именно это сделал Egil: P – zookalicious 9 June 2011 в 03:55

Другие вопросы по тегам:

Похожие вопросы: