Настройка многопользовательских разрешений

Когда вы форк , ядро ​​создает новый процесс, который является копией процесса разветвления, и оба процесса продолжают выполнение после форка (с кодом возврата, показывающим, был ли произошла ошибка, и независимо от того, является ли запущенный код родительским или дочерним). Эта часть «продолжения выполнения» не обязательно происходит сразу: ядро ​​просто добавляет новый процесс в очередь выполнения, и в конечном итоге он будет запланирован и запущен, но не обязательно немедленно.

Это объясняет оба поведения, о которых вы спрашиваете:

  • поскольку новые процессы не обязательно планируются немедленно, родительский процесс может продолжить работу до того, как любой дочерний элемент получит возможность запустить;
  • порядок создания не имеет большого значения (если есть) влияние на очередь выполнения, поэтому нет гарантии, что дочерние процессы будут выполняться в том порядке, в котором они были созданы.
3
13.03.2016, 10:09
0 ответов

Теги

Похожие вопросы