我想在两个进程之间创建一个共享内存。我使用了叉子()。一个孩子试图改变这个共享的记忆,母亲创造了另一个孩子,所以新的孩子试图改变同样的记忆,依此类推。这是我在 C 编程中的代码。(Ubuntu)
mylist ch=NUL;
f=fork();
if(!f){
pba=shmget(KEYSHM,sizeof(char),0); /*created shared memory*/
ch=(mylist *) shmat(pba,0,0);
ch->name=ugur;
ch->surname=cedric;
...do something...
}
else{
if(ch)
printf("this is top of mylist %s"ch->name);
.......do something
}
它从不写 ch->name。为什么?我创建了一个共享内存。为什么父进程无法读取?