Сделал fork-bomb. Запускаю на пингвине от root - виснет на 2 минуты, затем падает X. X Перегружается. fork умер. Вопрос - почему перегружается X и умирает fork? Вроде он должен забить всю таблицу процессов и не падать. UPD: если запускать просто из консоли, но не в Х, тогда все работает как надо.
Ты наверняка запускаешь через графический терминал, на пользовательские приложения может быть установлено ограничение на использование памяти и автоматический kill, в голой консоли соотвественно такого нет поэтому у тебя всё работает
Да всё на самом деле проще. Твоега прога стартует от какого либо процесса, прородительский или родительский процесс из-за исчерпания ресурсов рушится, тем самым убивая всех потомков. А потомки тоже являются чьими-то родителями по этому и их потомки мрут и так далее. чтобы такого небыло, надо создать свою группу процессов и отделиться от управляющего терминала. Это всё решается командой setsid после её удачного использования процесс перестаёт быть зависим от кого либо потому что сам становится создателем группы процессов.
Да запускаю через графический терминал. Спасибо за идею, надо посмотреть кто будет родителем. Я о этом думал. Если запускать в tty1, тогда тако проблемы нет. Всем спасибо. Просто посмотрю кто будет родителем при пуске из Х.
ну правильно когда из tty запускаешь то ему как-то по-фигу на исчерпание ресурсов (командному интерпретатору).