shmget:permission denied

shm_addr=(char*)shmat(shm_id,NULL,0); 返回-1。

perror 打印出:permission denied

shmget的时候要加上0666权限,比如:

shm_id=shmget(key,4096,IPC_CREAT|0666);

但是还是不行。

后来想到ftok的时候用到了一个filepath

key=ftok(filepath,0);

这个ftok必须是已存在真实文件,是不是文件的权限问题?

用chmod 777 filepath之后,发现还是不行

最后采用sudo运行程序可以。

ZHANGCHI wechat
关注微信号进一步交流