У меня есть вопрос о том, как работает процесс инициализации в UNIX. Насколько я понимаю, первым запускается процесс инициализации, а затем от него ответвляются другие процессы.
Скажем, мы запускаем процесс инициализации, а затем разветвляем дочерний процесс, который мы вызываем exec, с новой программой, которая заставляет дочерний процесс ожидать некоторого ввода-вывода. Теперь родительский процесс инициализации может ожидать дочерний процесс, но если он это сделает, то другие процессы не будут запускаться. И наоборот, если процесс инициализации не ждет и вместо этого попадает в цикл ожидания или что-то в этом роде, тогда, когда дочерний процесс возобновляется, родитель теперь занимает процессорное время, ничего не делая.
Каков наилучший способ справиться с этой проблемой? Должен ли процесс инициализации просто всегда запускать бесконечный цикл, и нам не нужно беспокоиться о потраченных впустую ресурсах? Или есть лучший способ.
Любая помощь будет высоко оценена, Бен