anonymous
написал 6 мая 2004 года в 17:30 (937 просмотров)
Ведет себя
неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.
У меня есть два процесса (fork), я хочу из потомка залезть в память родителя, подскажите чего-нить
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Ессно никак. Ты представь, что было бы, если бы один процесс мог залезть в память другого. А нах тебе? Есть же сокеты, каналы и т.д.
Ну, сделай pipe на диске, заставь папу писать, а сыночка — читать.
Good Luck,
UT
Да нет, то, что он хочет, в принципе возможно (погугли на fork shared memory), а в threads — так вообще в порядке вещей. Но возни уж больно много
Good Luck,
UT
Shared momory — это одно, а залазить в память другого процесса — это другое. Shared, естественно, можно организовать, но проще использовать sockets (см. Beej IPC Guide, link не помню).
Разве это не то, что я написал? :-}
Good Luck,
UT
Значит я тебя неправильно понял… ;)
man shmget
man mmap
В BSD все гораздо проще — есть системный вызов vfork, который не копирует данные. Теоретически, это альтернатива «копированию-при-записи» linux’a. Хотя, вообще говоря, vfork — весьма опасный вызов и не очень портабельный, т.к. в SYS V vfork == fork.