当前位置:  技术问答>linux和unix

求助linux普通用户下内存共享(系统V共享)大家进来看看啊!急!!

    来源: 互联网  发布时间:2016-12-29

    本文导语:  关键代码:       const char* pszPath = "../";         //根据文件名和ID生成一个起标识作用的key     key = ftok(pszPath, 0);      if(key == -1)     {         perror("ftok error");     }          //创建或者...

关键代码:
      const char* pszPath = "../";    
    //根据文件名和ID生成一个起标识作用的key
    key = ftok(pszPath, 0); 
    if(key == -1)
    {
        perror("ftok error");
    }
    
    //创建或者打开共享内存
    iShmgID=shmget(key, dwShmSize, IPC_CREAT); 
    if(iShmgID == -1)
    {
        perror("shmget error");
    }
    
   //将共享内存区映射到自己的内存段,
    pstShma=(engineer*)shmat(iShmgID, NULL, 0);
    if((int)pstShma == -1)
    {
        perror("shmat error");
    }

在普通用户下编译会报错:
shmat error: Permission denied
Segmentation fault
shmat 权限不够?能让root给普通用户授怎么的权限就可以了吗? 怎么授权?

要是iShmgID=shmget(key, dwShmSize, IPC_CREAT|0666); 
就会报错:
shmget error: Permission denied
shmat error: Invalid argument
Segmentation fault
现在是shmget 权限不够 shmat 无效的参数

但是在root下面一切OK 我想知道这样的内存共享能在普通用户下面用吗?能的话怎么弄,谢谢来大赐教啊!!感激不敬啊!!

|
       The ftok subroutine returns the value (key_t)-1 if one or more of the following are true:
       *    The file named by the Path parameter does not exist.
       *    The file named by the Path parameter is not accessible to the process.
       *    The ID parameter has a value of 0.

|
shmget error: Permission denied
路径问题?“const char* pszPath = "../";”这个是哪里的路径?普通用户有权限否?

|
应该是路径不对,把路径换一个普通用户也可以访问的路径。

|
4楼红色字是不是说
key = ftok(pszPath, 0);  
中出现了“0”?
楼主查一下这个函数的用法,共享内存的东西我忘完了。

    
 
 

您可能感兴趣的文章:

  • 【求助】linux下什么是共享内存,怎么查看。
  • 关于共享存储段的使用,求助高手
  • 求助:如何在Linux编译另一台window机器上的共享文件
  • 求助samba配置问题,windows无法访问linux共享的资源
  • ~~~在线求助~~~~共享库动态加载的一个问题。解决立即给分。说话算数。
  • linux共享库调用求助
  • 求助 (急)关于fedora9安装在虚拟机中的文件共享问题
  • 目录共享问题求助!
  • 求助:已经安装了共享库,还是提示“Unable to load library”
  • 关于共享内存的进程间通信问题【求助】
  • 求助:我这个内存共享的小程序,编译没错,运行有错,请各位大哥帮呆板能够我,谢谢!
  • 求助!!关于共享内存的shmdt出错!
  • 求助,fork函数建立子进程后,如何让子进程和父进程共享一个变量
  • 关于共享内存的问题【求助】
  • 紧急求助:服务器内存的问题!!!
  • [求助]如何设置uclinux内核中的内存
  • 内存问题,向各位高手求助!!!
  • 求助!怎样实现一个程序长期固定的在一块物理内存
  • 【求助】unix下如何进行内存管理?
  • 求助:java实现显示linux下的cpu占用率,内存使用情况,硬盘占用情况
  • 【求助】AIX下进程内存分配问题,无法分配超过256M的内存
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!! iis7站长之家
  • 求助高手:用sar -r 和用vmstat得到的内存数据有什么区别?
  • 大虾 紧急求助!!!!如何求得当前机子的处理器利用率和内存利用率?
  • 【求助】如何在应用程序中得到系统的剩余物理内存大小?
  • 求助:父进程被kill掉以后,子进程在任务表中所占内存是怎样释放的?
  • 求助:unix下内存对齐问题的解决
  • [求助]这段程序内存哪儿出问题了哈
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助!!! 超简单问题... 大虾们进来,菜鸟也进来!!
  • 求助:一个makefile,大虾们进来看看
  • 美女求助:用过CVSTrac的大侠们进来帮个忙!
  • [求助]求程序的思路,请大家进来看看
  • 求助一个linux shell编程问题 高手进来啊
  • 求助,乱码的问题,高手请进来!!!!
  • 求助关于静态数据初始化问题,很简单的,快进来看看。
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题
  • 求助:信号 --13 进程中断
  • 求助,安装了红帽子后进不了
  • 新装linux求助
  • linux的 iptables问题求助
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 一个简单的问题,高分求助!!!
  • 紧急求助:Unix下给文件夹重命名用什么命令?谢谢!!!!
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • 高分求助


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3