相关疑难解决方法(0)

fork的共享内存

我想在两个进程之间创建一个共享内存.我用了fork().一个孩子试图改变这个共享记忆,母亲创造另一个孩子,所以新孩子试图改变相同的记忆.这是我在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
}
Run Code Online (Sandbox Code Playgroud)

它永远不会写ch-> name.为什么?我创建了一个共享内存.为什么父进程无法读取?

c unix memory fork shared

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×1

fork ×1

memory ×1

shared ×1

unix ×1