
Linux/IPC
imxiangzi
这个作者很懒,什么都没留下…
展开
-
ftok的陷阱
根据pathname指定的文件(或目录)名称,以及proj_id参数指定的数字,ftok函数为IPC对象生成一个唯一性的键值。在实际应用中,很容易产生的一个理解是,在proj_id相同的情况下,只要文件(或目录)名称不变,就可以确保ftok返回始终一致的键值。然而,这个理解并非完全正确,有可能给应用开发埋下很隐晦的陷阱。因为ftok的实现存在这样的风险,即在访问同一共享内存的多个进程先后调用fto转载 2015-05-27 15:27:12 · 706 阅读 · 0 评论 -
进程间通信:比较脸熟的ftok()
老师在讲这个函数时没有什么感觉,当我做了试验后,其实也没有什么感觉。就是当我在改进实验的时候,问题就来了,就在ftok()这出的的错误。不过先不去了解它的作用来先说说为什么要用它,共享内存,消息队列,信号量它们三个都是找一个中间介质,来进行通信的,这中介质多的是。就是怎么区分出来,就像唯一一个身份证来来区分人一样。你随便来一个就行,就是因为这。只要唯一就行,就想起来了文件或目录的节点,它是唯一的,转载 2015-05-27 15:26:17 · 659 阅读 · 0 评论 -
消息队列工作机制 msgsnd: Invalid argument
最近写个一个小程序 测试System V的消息队列工作机制,写完代码后编译通过但是运行出现这个错误msgsnd: Invalid argument于是去Google ,可惜没有找到满意的结果,后来仔细检查代码发现 没有对消息类型赋值,花了我2个小时,终于搞定,以此告诫程序员要细心啊,呵呵这是代码/* 发送*/#include #include #include #inc转载 2015-05-29 17:38:55 · 866 阅读 · 0 评论 -
Linux进程间通信_IPC方法综述
Outline - 1.pipe使用框架 - 2.fifo使用框架 - 3.file lock使用框架 - 4.semaphore使用框架 - 5.shared memory使用框架转载 2015-06-01 10:23:06 · 619 阅读 · 0 评论 -
Linux ipcs命令与ipcrm命令的用法详解
以下是对Linux中的ipcs命令与ipcrm命令的用法进行了介绍,需要的朋友可以过来参考下是linux/uinx上提供关于一些进程间通信方式的信息,包括共享内存,消息队列,信号ipcs用法 ipcs -a 是默认的输出信息 打印出当前系统中所有的进程间通信方式的信息ipcs -m 打印出使用共享内存进行进程间通信的信息ipcs -q 打印出使用消息队列转载 2015-07-09 14:39:07 · 1038 阅读 · 0 评论 -
手动删除shmget创建的共享内存
使用shmget创建或打开共享内存的时候,其中有一个参数是制定了权限的,这个权限类似于文件的权限。 指定了什么身份可以打开已经存在的共享内存。 在我的项目中出现了一个程序运行失败, 经过调查发现在使用shmget打开一段共享内存的时候没有权限, 造成这个原因先不管, 下面说一下如果出现这种情况,怎么删除掉已经创建的共享内存。 我使用的是linux系统, 可以使用ipcs -m查看已转载 2015-07-09 14:39:31 · 4030 阅读 · 0 评论 -
Linux的IPC命令
进程间通信概述进程间通信有如下的目的:1、数据传输,一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M之间;2、共享数据,多个进程想要操作共享数据,一个进程对数据的修改,其他进程应该立刻看到;3、通知事件,一个进程需要向另一个或一组进程发送消息,通知它们发生了某件事情;4、资源共享,多个进程之间共享同样的资源。为了做到这一点,需要内核提供锁和同步机制;5、进程控制,有些进程希转载 2015-07-09 09:34:09 · 846 阅读 · 0 评论