发布时间:2014-06-30 20:29:07
使用常量字符串初始化char指针,或者使用strcpy复制,从语法上我觉得都是可以的。但是,在这个例子中选择了后者,我觉得是有其他考虑的。因为,ctermid_name是全局的,可能用来传送数据,将str指向这个地址,可能会和其他的函数同步一个内存变量;而使用常量初始化:str="/dev/tty",那么系统会分配地址,这样str的地址是.........【阅读全文】
发布时间:2014-06-30 07:48:23
现在我们来讨论第三种也是最后一种System V IPV工具:消息队列。在许多方面看来,消息队列类似于有名管道,但是却没有与打开与关闭管道的复杂关联。然而,使用消息队列并没有解决我们使用有名管道所遇到的问题,例如管道上的阻塞。消息队列提供了一种在两个不相关的进程之间传递数据的简单高效的方法。与有名管道比较起来.........【阅读全文】
发布时间:2014-06-30 07:46:26
共享内存是第二种IPC工具。他允许两个无关的进程访问相同的逻辑内存。共享内存是在两个运行的程序之间传递数据的有效手段。尽管X/Open标准并没有要求,很可能绝大数的共享内存实现都是会将不同进程之间正在共享的内存安排在相同的物理内存中。共享内存为在多个进程之间共享与传递数据提供一个有效的手段。因为他并没有提.........【阅读全文】
发布时间:2014-06-29 22:04:18
pipe、dup、dup2、wait、waitpid、fork函数说明int pipe(int fd[2]);功能:创建一个简单的管道,若成功则为数组fd分配两个文件描述符,其中fd[0] 用于读取管道,fd[1]用于写入管道。返回:成功返回0,失败返回-1;管道是Linux 支持的最初Unix IPC形式之一,具有以下特点:管道是半双工的,数据只能向一个方向流动;.........【阅读全文】
发布时间:2014-06-29 21:48:29
1. 函数说明pipe(建立管道):1) 头文件 #include<unistd.h>2) 定义函数: int pipe(int filedes[2]);3) 函数说明: pipe()会建立管道,并将文件描述词由参数filedes数组返回。filedes[0]为管道里的读取端filedes[1]则为管道的写入端。4) 返回值: 若成功则返回零,否则返回-1,错误.........【阅读全文】