linux shm_open,c – 如何更改shm_open路径?
我目前正在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路径?相关推荐
- linux 共享内存操作(shm_open、mmap、编译链接库:-lz -lrt -lm -lc都是什么库)
文章目录 linux 共享内存操作(shm_open) 一.背景 二.函数使用说明 shm_open ftruncate(改变文件大小) mmap共享内存 三.示例代码 创建内存共享文件并写入数据 打 ...
- linux环境下conda更改pkg和env缓存路径
今天在用户目录下($ cd ~)使用du -h -x --max-depth=1看了一下,miniconda内存占用高达99%- 一般来说conda虚拟环境下载的包和环境都是放在用户目录下的,如:/h ...
- Linux上创建和更改硬链接和符号链接(软连接)
Linux上创建和更改硬链接和符号链接(软连接) 对于Linux上的硬链接和软连接而言,使用cp命令,无论覆盖其中的那个文件(源文件,软连接文件,硬链接文件),其它文件的内容都会同步修改. 点击(此处 ...
- ftp服务器中更改文件路径,ftp服务器中更改文件路径
ftp服务器中更改文件路径 内容精选 换一换 文件作用:可以关闭/打开监听端口.指定监听端口.指定监听IP等.文件路径:在运行环境上,在~/ide_daemon目录下查看ide_daemon.cfg配 ...
- Linux系统目录结构和相对/绝对路径和XFS文件系统备份恢复
Linux系统目录结构和相对/绝对路径 系统目录结构 在WIN系统中,查看文件先进入相应的盘符,然后进入文件目录 在WIN中,它是多根 c:\ d:\ e: Linux只有一个根目录 查看根下有哪些文 ...
- Linux下修改Mysql数据库存放路径
Linux下修改Mysql数据库存放路径 原路径:/var/lib/mysql 目标路径:/home/data/mysql 1.home目录下建立data目录 cd /home mkdir data ...
- linux下普通用户更改密码原理(S权限)、SetUID
linux下普通用户更改密码原理(S权限) 首先,我们来看 /etc/passwd 和 /etc/shadow 文件的权限: 可以看到passwd文件,所有者有读写权限,其他用户只能读 而sha ...
- linux下查找java的安装路径和java和tomcat的环境配置
Linux下找到真正的JDK路径,从而解决默认编译安装Java后不知道jdk路径,以至于无法启动Tomcat的问题. 输入: [root@cheng java]# ls -lrt /usr/bin/j ...
- [转]Linux C语言头文件搜索路径
转自:http://hi.baidu.com/ilonng/blog/item/a0232435fbcfb90490ef390d.html/cmtid/68d4ab7bbb8026fb0ad187be ...
最新文章
- 数据蒋堂 | 报表开发的现状
- ElasticSearch知识汇总
- python创建txt文件-python创建txt文件
- 服务发现 - consul 的介绍、部署和使用
- java ee各类组件_在Java EE组件中使用骆驼路线
- 项目管理论坛_【项目管理论坛】 第15期:如何做一名优秀的项目经理
- 机器学习算法中文视频教程
- UE4的MaterialInstance作用
- 前端 页面无刷新方案一
- 团队博客 第三周 设计类图
- java2实用教程 第5版 课本案例
- 基于springboot的科技馆设备巡检系统
- 【Java】按要求编程输出2018年日历
- 数据库优化方案之分库分表
- TCP协议的RST标志位
- 批量删除,未勾选数据,点击【批量删除】弹出确认删除提示框
- 使用Epub.js打开本地Epub文件
- 多台计算机共享内存_共享内存多处理器和指令执行| 计算机架构
- dxf文件解析,g代码解析,图片解析C#工程文件
- adb 命令与手机控制(提供python测试)
热门文章
- 具有Tron效果的JavaFX 2 Form
- ADF BC:创建绑定到业务组件的UI表
- 华中科技大学计算机学院发表论文规定,华中科技大学等7所大学取消“研究生毕业必须发表论文”要求...
- HH SaaS电商系统的商品发货策略设计
- html ajax请求jsp,JSP+jquery使用ajax方式调用json的实现方法
- centos6.5 rpm安装mysql_CentOS6.5系统下RPM包安装MySQL5.6(转)
- 上传文件显示进度条_文件上传带进度条进阶-断点续传
- mysql explain 为空_车祸现场!我的MySQL千万级数据表选错索引了!
- 【FFMPEG中PTS与DTS统一转换为毫秒】
- 【WebRTC---进阶篇】(六)SELECT网络模型