Я прочитал, что родительский и дочерний будут работать над идентичным кодом после системного вызова fork()
. Я не могу понять, что делать fork()
, так как я не могу понять, что он будет делать при выполнении одного и того же кода дважды.Какой смысл использовать системный вызов fork(), когда оба процесса (родительский и дочерний) работают с одним и тем же кодом?
1
A
ответ
3
Возвращаемое значение fork()
отличается в процессах ребенка и родителей, так что вы обычно будете иметь что-то вдоль линий
pid_t child_pid = fork()
if (child_pid == 0) {
// do stuff in child process
} else {
// do stuff in parent process
}
+0
Примечание. Не забудьте проверить, является ли возвращаемое значение «-1». – Zeta
0
Вы можете использовать, если другое условие, чтобы выполнить другую часть кода для родитель и ребенок. Поскольку fork возвращает 0 в дочерний процесс, он возвращает pid дочернего элемента родительскому элементу. Используйте это как дифференциатор в условии if.
Смежные вопросы
- 1. fork() системный вызов и пространство памяти процесса
- 2. родительский и дочерний процесс с использованием fork
- 3. Какой смысл использовать системный вызов 0?
- 4. Что такое родительский процесс, когда мы выполняем системный вызов fork()?
- 5. Можно ли использовать fork без exec, если оба процесса выполняют одну и ту же программу?
- 6. fork() системный вызов в linux
- 7. Вызов метода одним и тем же методом
- 8. Понятия на системный вызов fork()
- 9. jQuery toggle не меняет дочерний элемент. Стиль видимых элементов, когда родительский и дочерний оба переключаются?
- 10. Системный вызов Unix fork(), который работает, когда?
- 11. Родительский и дочерний процесс
- 12. AbstactTableModels, которые работают с одним и тем же источником данных
- 13. Вызов сценария с тем же @INC, что и родительский скрипт
- 14. Сделать вызов кнопки одним и тем же способом
- 15. fork() системный вызов в c
- 16. Как управлять одним и тем же кодом на двух доменах?
- 17. Как два разработчика с персональными учетными записями Apple Dev работают над одним и тем же кодом?
- 18. родительский процесс и дочерний процесс
- 19. Как системный вызов ptrace catch fork?
- 20. Системный вызов C fork неявным образом выполнен
- 21. php - построить как родительский, так и дочерний
- 22. неблокирующий системный вызов в программе C++ с использованием fork
- 23. о системном вызове fork и execve
- 24. Невозможно четко понять системный вызов fork()?
- 25. fork() против CreateProcess(). Системный вызов против API?
- 26. Ребенок и родительский pid с fork();
- 27. Обмен одним и тем же кодом между несколькими версиями одного и того же веб-сайта Meteor
- 28. Системный вызов Linux для создания процесса и потока
- 29. Вызов WCF из ASP.NET с одним и тем же пользователем с одним значком LogonUserIdentity
- 30. Возможно ли иметь проекты VS2010 и VS2012 одновременно с одним и тем же исходным кодом
Просто выполните что-нибудь еще в процессе child/parent? 'pid_t pid = fork(); if (pid == 0) {...} else {...} '. (Не забудьте также проверить «-1») – Zeta
Он выполняет только один и тот же код дважды, если вы сообщите об этом. –
Он может выполнять тот же код с разными данными и другим стеком. –