我目前正在ubunto上开发一个应用程序并调用shm_open,目前默认路径在/ var / run / shm内.但是我需要将其更改为/ tmp.只是尝试以下操作不起作用:

fd = shm_open(“/ tmp / test”,O_RDWR | O_CREAT,0777);

任何人都可以建议吗?

解决方法:

从shm_open(3)的手册页:

name specifies the shared memory object to be created or opened. For portable use, a shared memory object should be identified by a name of the form /somename; that is, a null-terminated string of up to NAME_MAX (i.e., 255) characters consisting of an initial slash, followed by one or more characters, none of which are slashes.

shm_open(3)的name参数是对象名,而不是文件路径!只是GLIBC将所有共享内存对象放在/ dev / shm或/ var / run / shm中,方法是在路径前加上对象名,并在结果名称上调用open().如果指定/ tmp / test作为共享对象名,则Linux将尝试打开或创建/ var / run / shm / tmp / test.使用O_CREAT打开会创建新文件,但不会创建新目录.

如果您在调用shm_open(“/ tmp / test”,…)之前首先创建目录/ var / run / shm / tmp,那么您的测试将起作用.完成共享内存对象的使用后,请记住将其删除.并且还要注意,使用带有两个斜杠的对象名称可能无法移植到其他Unix系统.

标签:c,linux,boost,shared-memory

来源: https://codeday.me/bug/20190723/1512607.html

linux shm_open,c – 如何更改shm_open路径?相关推荐

  1. linux 共享内存操作(shm_open、mmap、编译链接库:-lz -lrt -lm -lc都是什么库)

    文章目录 linux 共享内存操作(shm_open) 一.背景 二.函数使用说明 shm_open ftruncate(改变文件大小) mmap共享内存 三.示例代码 创建内存共享文件并写入数据 打 ...

  2. linux环境下conda更改pkg和env缓存路径

    今天在用户目录下($ cd ~)使用du -h -x --max-depth=1看了一下,miniconda内存占用高达99%- 一般来说conda虚拟环境下载的包和环境都是放在用户目录下的,如:/h ...

  3. Linux上创建和更改硬链接和符号链接(软连接)

    Linux上创建和更改硬链接和符号链接(软连接) 对于Linux上的硬链接和软连接而言,使用cp命令,无论覆盖其中的那个文件(源文件,软连接文件,硬链接文件),其它文件的内容都会同步修改. 点击(此处 ...

  4. ftp服务器中更改文件路径,ftp服务器中更改文件路径

    ftp服务器中更改文件路径 内容精选 换一换 文件作用:可以关闭/打开监听端口.指定监听端口.指定监听IP等.文件路径:在运行环境上,在~/ide_daemon目录下查看ide_daemon.cfg配 ...

  5. Linux系统目录结构和相对/绝对路径和XFS文件系统备份恢复

    Linux系统目录结构和相对/绝对路径 系统目录结构 在WIN系统中,查看文件先进入相应的盘符,然后进入文件目录 在WIN中,它是多根 c:\ d:\ e: Linux只有一个根目录 查看根下有哪些文 ...

  6. Linux下修改Mysql数据库存放路径

    Linux下修改Mysql数据库存放路径 原路径:/var/lib/mysql 目标路径:/home/data/mysql 1.home目录下建立data目录 cd /home mkdir data ...

  7. linux下普通用户更改密码原理(S权限)、SetUID

    linux下普通用户更改密码原理(S权限) 首先,我们来看  /etc/passwd  和 /etc/shadow  文件的权限: 可以看到passwd文件,所有者有读写权限,其他用户只能读 而sha ...

  8. linux下查找java的安装路径和java和tomcat的环境配置

    Linux下找到真正的JDK路径,从而解决默认编译安装Java后不知道jdk路径,以至于无法启动Tomcat的问题. 输入: [root@cheng java]# ls -lrt /usr/bin/j ...

  9. [转]Linux C语言头文件搜索路径

    转自:http://hi.baidu.com/ilonng/blog/item/a0232435fbcfb90490ef390d.html/cmtid/68d4ab7bbb8026fb0ad187be ...

最新文章

  1. 数据蒋堂 | 报表开发的现状
  2. ElasticSearch知识汇总
  3. python创建txt文件-python创建txt文件
  4. 服务发现 - consul 的介绍、部署和使用
  5. java ee各类组件_在Java EE组件中使用骆驼路线
  6. 项目管理论坛_【项目管理论坛】 第15期:如何做一名优秀的项目经理
  7. 机器学习算法中文视频教程
  8. UE4的MaterialInstance作用
  9. 前端 页面无刷新方案一
  10. 团队博客 第三周 设计类图
  11. java2实用教程 第5版 课本案例
  12. 基于springboot的科技馆设备巡检系统
  13. 【Java】按要求编程输出2018年日历
  14. 数据库优化方案之分库分表
  15. TCP协议的RST标志位
  16. 批量删除,未勾选数据,点击【批量删除】弹出确认删除提示框
  17. 使用Epub.js打开本地Epub文件
  18. 多台计算机共享内存_共享内存多处理器和指令执行| 计算机架构
  19. dxf文件解析,g代码解析,图片解析C#工程文件
  20. adb 命令与手机控制(提供python测试)

热门文章

  1. 具有Tron效果的JavaFX 2 Form
  2. ADF BC:创建绑定到业务组件的UI表
  3. 华中科技大学计算机学院发表论文规定,华中科技大学等7所大学取消“研究生毕业必须发表论文”要求...
  4. HH SaaS电商系统的商品发货策略设计
  5. html ajax请求jsp,JSP+jquery使用ajax方式调用json的实现方法
  6. centos6.5 rpm安装mysql_CentOS6.5系统下RPM包安装MySQL5.6(转)
  7. 上传文件显示进度条_文件上传带进度条进阶-断点续传
  8. mysql explain 为空_车祸现场!我的MySQL千万级数据表选错索引了!
  9. 【FFMPEG中PTS与DTS统一转换为毫秒】
  10. 【WebRTC---进阶篇】(六)SELECT网络模型