2 месяца назад
Системный вызов clone() и его преимущества перед fork() при создании процессов
Когда разработчики говорят о создании процессов в Linux, первое слово, которое приходит на ум, это fork(). Он знаком, понятен и присутствует в каждом учебнике по системному программированию. Но fork() это не самостоятельный примитив ядра. Это тонкая обёртка над clone(), которая вызывает его с заранее зафиксированным набором флагов. Сам fork() никогда не принимал решений о том, что именно копировать, а что оставлять общим. За него это решил кто-то другой, давно и один раз. clone() передаёт это решение в руки программиста, и именно здесь начинается настоящий контроль над созданием процессов...
2207 читали · 1 год назад
Fork-бомба в Linux
Пожалуй, начнём. Вот такая последовательность символов в Linux может вывести вашу систему из строя: :(){ :|:& };: ПРИМЕЧАНИЕ: не следует запускать эту команду! Это — Fork-бомба. При запуске такой команды система начинает потреблять все системные ресурсы (не всегда) и выйдет из строя. Лечится перезагрузкой. Вероятно, первые fork-бомбы появились из-за ошибок при программировании. Бесконечные циклы, рекурсии, утечки памяти... Fork-бомбу можно воспринимать в качестве DoS атаки (отказ в обслуживании)...