![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多进程
文章平均质量分 76
普通网友
这个作者很懒,什么都没留下…
展开
-
Linux 进程间通信之消息队列的几点注意事项
1. 由于消息队列是属于内核的,因此在执行时,必须有Root权限才可以,否则会在访问消息队列时,出现EACCES错误,即访问权限的问题2. msgbuf.mtype的设置int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);msgp指向结构体:struct msgbuf {原创 2012-03-29 20:39:05 · 1535 阅读 · 1 评论 -
Windows的进程间通信(三)
转自:http://hi.baidu.com/_achillis/blog/item/bdaa0d943d4b130e7bf48080.html5. 命名管道(Named Pipe)和信箱(Mail Slot)前面提到,如果从字面上理解,那么进程间通信也可以通过磁盘文件而实现。但是,把信息写入某个磁盘文件,再由另一个进程从磁盘文件读出,在速度上是很慢的。固然,由于文件缓冲区(Cache转载 2012-04-23 19:43:53 · 1054 阅读 · 0 评论 -
Windows的进程间通信(二)
转自:http://hi.baidu.com/_achillis/blog/item/9857ebeca154124978f05587.html2. 信号量(Semaphore)学过操作系统原理的读者想必知道“临界区”和“信号量”、以及二者之间的关系。如果没有学过,那也不要紧,不妨把临界区想像成一个凭通行证入内的工作场所,作为对象存在的“信号量”则是发放通行证的“票务处”。但是,通行证的数转载 2012-04-23 19:42:31 · 1447 阅读 · 0 评论 -
Windows环境进程间通信(一):共享文件方式
转自:http://www.zxbc.cn/html/20090609/71620.html共享文件方式 (1)数据发送 数据发送进程为通过Cfile类创建一个共享文件,然后调用write()方法想文件中写入数据,具体代码如下: #include #include #include void main(){ CString filename = _T("C:\\te转载 2012-04-23 08:41:35 · 1836 阅读 · 0 评论 -
Windows环境进程间通信(二):共享内存方式
转自:http://www.zxbc.cn/html/20090609/71620.html共享内存方式是通过内存来传递数据,必须在内存中申请一定的空间。可以调用GlobalAlloc()或者VirtualAllocEx()来实现内存空间分配,使用内存读写函数;ReadProcessMemory()和WriteProcessMemory()来读写进程的内存。要使接收程序获得发送程序的内转载 2012-04-23 08:39:40 · 3094 阅读 · 0 评论 -
Linux环境进程间通信(二):有名管道(FIFO)
转自:https://www.ibm.com/developerworks/cn/linux/l-ipc/part1/1 有名管道相关的关键概念管道应用的一个重大限制是它没有名字,因此,只能用于具有亲缘关系的进程间通信,在有名管道(named pipe或FIFO)提出后,该限制得到了克服。FIFO不同于管道之处在于它提供一个路径名与之关联,以FIFO的文件形式存在于文件系统中。这样,即转载 2012-03-28 11:46:04 · 2454 阅读 · 0 评论 -
Linux环境进程间通信之有名管道(FIFO)的注意事项
1. FIFO文件是受内核保护的,所以程序在执行的时候需要Root权限,否则会提示错误:EACCES2. 程序执行时,需要创建一个FIFO文件,结束之后应该予以删除,避免造成垃圾文件3. 除了通过mkfifo()来创建FIFO文件之外,其他跟使用普通文件的方法类似:open()/ read()/ write()4. 关于FIFO文件的使用步骤: 1> 通过mkfifo()创建原创 2012-04-04 09:56:04 · 1356 阅读 · 0 评论 -
Linux环境进程间通信(五): 共享内存(上)
转自:http://www.bccn.net/Article/kfyy/vc/jszl/200708/5853.html共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是:同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信转载 2012-03-28 16:51:01 · 1292 阅读 · 0 评论 -
Linux环境进程间通信(一):管道
转自:https://www.ibm.com/developerworks/cn/linux/l-ipc/part1/1 管道相关的关键概念管道是Linux支持的最初Unix IPC( Inter process commuication )形式之一,具有以下特点:1> 管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;2> 只能用于父子进程或者兄弟进程之转载 2012-03-28 08:19:50 · 749 阅读 · 0 评论 -
Linux环境进程间通信(四):信号灯
转自:http://www.bccn.net/Article/kfyy/vc/jszl/200708/5852.html一、信号灯概述信号灯与其他进程间通信方式不大相同,它主要提供对进程间共享资源访问控制机制。相当于内存中的标志,进程可以根据它判定是否能够访问某些共享资源,同时,进程也可以修改该标志。除了用于访问控制外,还可用于进程同步。信号灯有以下两种类型:1> 二值信号灯:转载 2012-03-28 16:49:50 · 2286 阅读 · 0 评论 -
Linux 进程间通信之信号灯的几点注意事项
1. 关于union semun结构体的定义和头文件的包含在用信号灯进行通信时,包含头文件:#include #include #include 但是,在编译程序的时候提示错误,提示union semun对应的类型不存在看到有加头文件:#include (不便于程序移植,如果包含该头文件,则不能移到UNIX系统下)但在加上该头文件之后,又会提示,说有些数据结构被重原创 2012-03-31 13:42:44 · 1010 阅读 · 0 评论 -
Linux下的C编程实战(三)----进程控制与进程通信编程
1.Linux进程Linux进程在内存中包含三部分数据:代码段、堆栈段和数据段。代码段存放了程序的代码。代码段可以为机器中运行同一程序的数个进程共享。堆栈段存放的是子程序(函数)的返回地址、子程序的参数及程序的局部变量。数据段存放程序的全局变量、常数以及动态数据分配的数据空间(比如用malloc函数申请的内存)。与代码段不同,如果系统中同时运行多个相同的程序,它们不能使用同一堆原创 2011-08-03 09:36:06 · 682 阅读 · 0 评论 -
Windows 进程间通信
转自:http://www.cnblogs.com/TravelingLight/archive/2011/10/16/2214291.html摘要随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间通信是不可避免的。Microsoft Win32 API提供了多种进程间通信的方法,全面转载 2012-03-27 19:16:16 · 541 阅读 · 0 评论 -
Linux 进程间通信
转自:http://www.cnblogs.com/linshui91/archive/2010/09/29/1838770.html一、进程间通信概述进程通信有如下一些目的:A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。C、通知事件:一个进程转载 2012-03-27 19:18:00 · 601 阅读 · 0 评论 -
Linux 通过信号机制在进程间传递参数中的几个主要函数解析
1. sigqueue() 用于信号的发送函数功能:发送信号给特定的某个进程使用头文件:#include 函数原型: int sigqueue(pid_t pid, int sig, const union sigval value);参数:pid是指定接收信号的进程号;sig确定即将发送的信号;value是一个联合数据结构union sigval,原创 2012-03-28 15:15:32 · 5653 阅读 · 0 评论 -
Linux环境进程间通信(三):消息队列
转自:http://www.bccn.net/Article/kfyy/vc/jszl/200708/5851.html概念解释:IPC随进程持续、随内核持续以及随文件系统持续的定义:随进程持续:IPC一直存在到打开IPC对象的最后一个进程关闭该对象为止。如管道和有名管道;随内核持续:IPC一直持续到内核重新自举或者显示删除该对象为止。如消息队列、信号灯以及共享内存等;随文件系转载 2012-03-28 16:48:36 · 1227 阅读 · 0 评论 -
Linux消息队列之命令行相关
转自:http://hi.baidu.com/redflower1004/blog/item/86b6cef41edd83c4f2d3858d.html消息队列 (也叫做报文队列)是Unix系统V版本中3种进程间通信机制之一。另外两种是信号灯和共享内存。这些IPC机制使用共同的授权方法。只有通过系统调用将标志符传递给核心之后,进程才能存取这些资源。这种系统IPC对象使用的控制方法和文件系统非常转载 2012-03-29 16:19:18 · 1007 阅读 · 0 评论 -
Windows环境进程间通信(三) 内存映射文件
转自:http://www.zxbc.cn/html/20090609/71620_2.html内存映射文件是通过两个或多个进程映射同一个文件映射对象的视图来实现的,这意味着它们将共享物理存储器的同一个页面。因此,当一个进程将数据写入一个共享文件映射对象的视图时,其他进程可以立即看到它们视图中的数据变更情况。如果多个进程共享单个文件映射对象,那么所有进程必须使用相同的名字来表示该文件映射对转载 2012-04-23 09:01:24 · 3688 阅读 · 0 评论