Linux умер! Все из вас хоть раз в жизни запускали fork бомбу. Но если ты, тот единственный и неповторимый, то советую взять и прям сейчас это сделать. Это как впервые поссать в море.
Открывай консоль и запускай:
:(){ :|:& };:После запуска, перезагружай свой компьютер и продолжай читать этот пост.
Концепция, лежащая в основе форк-бомбы — процессы постоянно воспроизводят сами себя, потенциально вызывая отказ в обслуживании.
✔️ Что это за странная регулярка?
Ну да, похожа на язык брейнфака. Давай теперь эту непонятную строчку, сделаем более понятной.
forkbomb()
{
forkbomb | forkbomb &
};
forkbomb
Опа, теперь всё на своих местах. Все наглядно и прозрачно. Каждый экземпляр запускает два новых экземпляра и так до бесконечности.
От этой заразы можно защитится с помощью ulimit, ограничив количество запускаемых процессов. Делается так:
ulimit -u 30
Ну либо прописать эти ограничения
/etc/security/limits.conf* hard nproc 30
hard = максимальное количество процессов nproc
* = для всех пользователей равным 30
Жесткое ограничение позволяет зафиксировать лимиты, чтобы пользователи ненароком через ulimit их не сняли.
Еще был вопрос: а почему вместо | не использовать && ? Ну логично же, && выполняет команды последовательно. А вертикальная палка выполняет команды одновременно, при этом дескрипторы файлов перенаправляются в канал.
Вот бы с регулярками так, развернул их и наглядно стало понятно, что они делают и как. Но увы.
Ладно, чо, вроде пятница, а организм уже бунтует против субботнего рабочего дня. Ну ничего, зато потом 4 дня можно будет отдохнуть. Давай, увидимся!
tags: #bash #linux
@ВАSНDАYS | BАSHDАYS.CОM