Авторы: Нина Челышева, Фёдор Гончаров
waitpid() - Wait for a specific child process to end
Completely Fair Scheduler - Wikipedia
if (fork() == 0) - в этот if зайдёт только порождённый процесс (то есть мы находимся в процессе-потомке)
Если забыть return, то у нас получится бесконтрольное порождение огромного количества потомков, потому что каждый потомок продолжит цикл с того места, где остановился родитель
Дети в произвольном порядке печатают свой pid:
Почти всё для процессов будет одинаковое, eip будет совпадать. Основное отличие у процессов в pid и в возвращаемом значении системного вызова fork.
Загадка от автора:
Сколько Hello, World будет напечатана в результате исполнения этого кода?
Теперь у нас в родителе получился массив pid детей и “спать” они будут в обратном порядке