Я читал человека и в другом месте, но я борюсь с этой концепцией. Детский процесс всегда уникален, но в любом примере forking я обнаружил, что pid ребенка должен = 0. Что делать, если есть много детей, они не могут быть равны нулю или они не будут уникальными?fork(): Ребенок всегда равен нулю и всегда уникален? Что происходит?
2
A
ответ
5
Детский процесс pid никогда не равен нулю. fork
возвращает ноль ребенку , чтобы сообщить ему, что это ребенок. Однако pid дочернего процесса - это значение, которое fork
возвращает к родителю . (Помните, что fork
, считая его успешным, возвращает дважды - один раз в дочернем элементе, один раз в родительском.) Это можно подтвердить, написав программу, которая сравнивает результат getpid
с дочерним элементом со значением fork
. родительский (с небольшим IPC).
Смежные вопросы
- 1. Холст всегда равен нулю
- 2. HttpContext.Current всегда равен нулю
- 3. Результат широковещания всегда равен нулю
- 4. OpenGL imageSize всегда равен нулю
- 5. Джерси - параметр всегда равен нулю
- 6. Минимум массива всегда равен нулю
- 7. rowCout ПДО() всегда равен нулю
- 8. Powercenter - SetVariable всегда равен нулю
- 9. Результат отдела всегда равен нулю
- 10. fork(), всегда работает родительский, а потом ребенок
- 11. Почему мой массив всегда равен нулю?
- 12. Android sqlite rowcount всегда равен нулю?
- 13. Строковый массив JSON всегда равен нулю
- 14. Градиент тензора потока всегда равен нулю
- 15. Интервал между секундами между NSDate, но всегда всегда равен нулю.
- 16. scrollView размер границ всегда равен нулю
- 17. Первичный ключ в datagrid всегда равен нулю
- 18. Пользователь онлайн-статус Twilio всегда равен нулю
- 19. Аргумент, переданный контроллеру, всегда равен нулю
- 20. Matlab log (1) не всегда равен нулю
- 21. Почему мой NSNumber всегда равен нулю?
- 22. Результат вызова SoapObject всегда равен нулю
- 23. Facebook SDK, пользователь GraphUser всегда равен нулю
- 24. Параметр, переданный контроллеру почты, всегда равен нулю
- 25. UIButton размер кадра всегда равен нулю
- 26. JSF + SPRING: Управляемый компонент всегда равен нулю
- 27. Почему мой ElapsedMilliseconds всегда равен нулю здесь?
- 28. Windows ListView LVM_GETITEM iImage всегда равен нулю
- 29. Восстановленный экземпляр пакета Fragment всегда равен нулю
- 30. Счетчик производительности всегда равен нулю в vb.net
Детский pid всегда 0 в своей среде. Родительский процесс - это тот, который видит реальный pid. –
Возможный дубликат [Что именно возвращает fork?] (Http://stackoverflow.com/questions/5577564/what-exactly-does-fork-return) – Daniel
@RedAlert Нет, pid ребенка никогда не 0. fork() _ возвращает 0_ ребенку, чтобы указать, что это ребенок. –