Привет всем, кто по странным причинам все еще остался на канале.
Здесь давно ничего не выходило, пора бы это исправить. Мне нравится рассказывать о не самых простых темах в computer science и теперь выпуски будут появляться на ютуб, вы можете посмотреть первое видео по ссылке ниже. Он про терминалы, оболочку и командную строку. Здесь также время от времени будет появляться что-то интересное.
P.S. Никогда не делал видео для youtube, поэтому конструктивная критика приветствуется.
https://www.youtube.com/watch?v=Af62XNhFnnQ
Здесь давно ничего не выходило, пора бы это исправить. Мне нравится рассказывать о не самых простых темах в computer science и теперь выпуски будут появляться на ютуб, вы можете посмотреть первое видео по ссылке ниже. Он про терминалы, оболочку и командную строку. Здесь также время от времени будет появляться что-то интересное.
P.S. Никогда не делал видео для youtube, поэтому конструктивная критика приветствуется.
https://www.youtube.com/watch?v=Af62XNhFnnQ
❤22👍4🤔1
: () { :|:& };: - 11 символов, которые способны вывести любой linux дистрибутив (до перезагрузки компьютера). И вот как это работаетМы можем объявлять свои функции в bash, как и в любом другом языке. Синтаксис следующий:
function name () { <commands>}или
name () { <commands>}В выражении выше символ
: - имя фунции, т.е.: () {}Символ
: внутри функции - рекурсивный вызов функции, т.е. вызов внутри функции самой функции. Символ | - pipe. Символ & указывает на то, что эти оберации нужно запустить в фоне, т.е. оболочка запускает функцию, а сама продолжает работать, не дожидаясь результата работы функции. Каждый вызов функции порождает еще 2 вызова функции, связанные с помощью pipe. Каждый такой вызов приводит к порождению 2-х новых процессов (для чтения и записи в pipe). Таким образом число процессов в системе растет очень быстро, и очень скоро ОС не сможет нормально функционировать.Символ
; завершает одну команду, т.е. определение функции, а последний символ : - вызывает определенную функциюЧто-то похожее можно реализовать почти на любом языке и носит общее название fork bomb (fork бомба - википедия).
Защититься от fork бомбы можно если мы ограничим общее число процессов, которые способен создать пользователь. В Linux это можно сделать с помощью
ulimit -u <количество процессов>.❤5🤔1