nixp.ru v3.0

23 января 2017,
понедельник,
03:37:06 MSK

Аутсорсинг Linux с компанией «Флант»
anonymous написал 6 мая 2004 года в 17:30 (376 просмотров) Ведет себя неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.

У меня есть два процесса (fork), я хочу из потомка залезть в память родителя, подскажите чего-нить

Longobard

Ессно никак. Ты представь, что было бы, если бы один процесс мог залезть в память другого. А нах тебе? Есть же сокеты, каналы и т.д.

Uncle Theodore

Ну, сделай pipe на диске, заставь папу писать, а сыночка — читать.

Good Luck,

UT

Uncle Theodore
LONGOBARD
Ессно никак. Ты представь, что было бы, если бы один процесс мог залезть в память другого. А нах тебе? Есть же сокеты, каналы и т.д.

Да нет, то, что он хочет, в принципе возможно (погугли на fork shared memory), а в threads — так вообще в порядке вещей. Но возни уж больно много

Good Luck,

UT

myst

Shared momory — это одно, а залазить в память другого процесса — это другое. Shared, естественно, можно организовать, но проще использовать sockets (см. Beej IPC Guide, link не помню).

Uncle Theodore
myst
Shared memory — это одно, а залазить в память другого процесса — это другое. Shared, естественно, можно организовать, но проще использовать sockets (см. Beej IPC Guide, link не помню).

Разве это не то, что я написал? :-}

Good Luck,

UT

myst

Значит я тебя неправильно понял… ;)

df_0903

man shmget

man mmap

В BSD все гораздо проще — есть системный вызов vfork, который не копирует данные. Теоретически, это альтернатива «копированию-при-записи» linux’a. Хотя, вообще говоря, vfork — весьма опасный вызов и не очень портабельный, т.к. в SYS V vfork == fork.

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.