C 在分叉进程之间共享全局变量
我有一个全局变量X,然后我从子变量fork和modify X。我希望这些更改显示在父对象中,但我不希望父对象必须等待子对象C 在分叉进程之间共享全局变量,c,process,fork,C,Process,Fork,我有一个全局变量X,然后我从子变量fork和modify X。我希望这些更改显示在父对象中,但我不希望父对象必须等待子对象 我该怎么做 当您派生一个地址空间的单独副本的新进程时。它只能看到fork之前所做的更改 如果您想要共享内存用于进程之间的通信,则必须显式创建共享内存。您不能 分叉之后,这是两个独立的过程。 您必须使用一些。您需要将变量放入共享内存中。有许多方法可以创建共享内存。我可能只会使用mmap,但您也可以查看shmget或shm\u open对不起,我的问题一定不清楚。我意识到他们每
我该怎么做 当您派生一个地址空间的单独副本的新进程时。它只能看到fork之前所做的更改 如果您想要共享内存用于进程之间的通信,则必须显式创建共享内存。您不能 分叉之后,这是两个独立的过程。
您必须使用一些。您需要将变量放入共享内存中。有许多方法可以创建共享内存。我可能只会使用
mmap
,但您也可以查看shmget
或shm\u open
对不起,我的问题一定不清楚。我意识到他们每个人都有一个单独的副本,我正试图绕过这个问题,共享一个变量。如中所述,我如何在进程之间共享内存?您可能最好在这里使用线程(如果您认识我,您会知道这样说有多痛苦),因为您希望多个执行上下文能够修改单个内存实例中的数据。我的问题是问到如何使用某些IPC。