PID 0 не означает, что вилка не удалась.Это означает, что ответвление выполнено успешно и текущий процесс является дочерним.PID> 0 означает, что ответвление выполнено успешно, а текущий процесс является родительским (возвращаемое значение - это PID дочернего элемента).PID -1 означает, что произошел сбой.
Поскольку процессам приложения обычно запрещено разветвление, -1 означает ожидаемый результат.Если fork
разрешено, то есть два процесса.Родитель возвращает YES, а дочерний завершается, так как на самом деле он не нужен ни для чего, кроме проверки, разрешен ли разветвление.