我有一个全局变量X.然后我从子代中分叉并修改X.我希望这些更改显示在父级中,但我不希望父级必须等待子级。
我该怎么做?
答案 0 :(得分:5)
您需要将变量放在共享内存中。有许多方法可以创建共享内存。我可能只使用mmap
,但您也可以查看shmget
或shm_open
。
答案 1 :(得分:1)
当您分叉一个新进程时,该进程是地址空间的单独副本。它只能看到之前所做的更改。
如果您希望共享内存用于进程之间的通信,则必须明确创建。
答案 2 :(得分:1)
你不能。
分叉后,这是两个独立的过程。 您必须使用一些IPC。