Говорим про то, как создаются процессы в Linux. Как дождаться завершения процесса и узнать его статус?
Что происходит, если родительский процесс завершается раньше дочернего? Почему в созданном процессе лучше использовать _exit, а не exit. Как работает форк-бомба. Как установить лимиты на созданные процессы.
Архитектура компьютера и операционные системы.
Семинарское занятие 238 группы ФКН ПМИ. НИУ ВШЭ
Ведет Миша Филитов
Конспект:
https://github.com/lll-phill-lll/hse_caos_practice/tree/master/16-fork
0:00 - болтаем
6:40 - процессы. pid, ppid, pstree, ps
16:15 - системный вызов fork. Простой пример
25:00 - неожиданные printf при создании процесса
31:10 - наглядно, что у каждого процесса своя память
35:30 - как работает copy on write. Почему fork не копирует сразу всю память
50:50 - wait - ждем ребенка
1:01:20 - waitpid - ждем ребенка и узнаем статус завершения
1:11:08 - узнаем лимит на количество созданных процессов через fork-колбасу
1:26:43 - простая форк-бомба: смотрим за ее работой в pstree
1:28:55 - форк-бомба - загружаем компьютер на полную