Предположим, у меня есть родитель, который разворачивает ребенка. Затем разветвленный ребенок использует exec() для изменения образа процесса. И ребенок, и родитель теперь осуществляют активный обмен данными с использованием трубы. Я хочу синхронизировать этот обмен данными с помощью семафора. Из того, что я понимаю, я создам семафор в родительском элементе перед вилкой. Однако будет ли ребенок после того, как exec() сможет получить доступ к этому семафору? Если нет, есть ли другой способ, с помощью которого можно использовать семафор, чтобы установить синхронизацию?Семафоры Linux, разделенные между процессами forked-> exec'd?
0
A
ответ
1
exec man page От:
[SEM] Any named semaphores open in the calling process shall be closed as if by appropriate calls to sem_close().
Так после вызова EXEC, вы не можете достичь каких-либо открытых semephores в родителя.
Конечно, вам не нужно об этом беспокоиться, если вы хотите, чтобы два процесса делили семафор, просто используйте posix named semaphores.
Идея проста: вы создаете семафор в процессе и даете ему имя; другой процесс просто должен иметь имя, и тогда он может открыть этот семафор.
Смежные вопросы
- 1. Поделиться массивом Семафоры между двумя процессами | linux C
- 2. Семафоры POSIX между дочерними и родительскими процессами
- 3. Семафоры с тремя процессами
- 4. Семафоры Linux
- 5. контекстный переключатель между двумя процессами в linux
- 6. Linux: возможно ли обмен кодами между процессами?
- 7. Связь между процессами Linux cpu-to-cpu
- 8. совместное использование сокетов между процессами на linux
- 9. IPC между процессами Linux и Windows
- 10. Различие между процессами и потоками в Linux
- 11. Передача сокета между процессами в Linux
- 12. Связь между процессами
- 13. Файловое кэширование между процессами
- 14. передачи сообщений между процессами
- 15. Синхронизация между процессами с использованием неназванных семафоров
- 16. Семафоры Linux: спин-блокировка или сигналы?
- 17. Семафоры в c linux с клиентом/сервером
- 18. Семафоры и общая память в linux
- 19. Как заблокировать каталог между процессами python в linux?
- 20. Проблема кэширования на Linux OS между несколькими процессами
- 21. Linux & C++: простой способ обмена объектами между двумя процессами
- 22. Совместное использование объектов класса между процессами в Linux
- 23. Как передать карту между двумя процессами в Linux?
- 24. Связь между процессами «один ко многим» в Linux
- 25. Какие часы следует использовать для взаимодействия между процессами в Linux?
- 26. Перегруппировка справочника между пользователями или процессами в Linux?
- 27. написать (2)/прочитать (2) атомарность между процессами в linux
- 28. Связь между родителем Python и дочерними процессами C в Linux
- 29. Как взаимодействовать между процессами в реальном времени Linux?
- 30. Linux: настройка языка во время выполнения и зависимости между процессами
спасибо. :) –