Let's go!!!!!
发布时间:2012-12-09 20:27:41
消息队列消息队列是消息的链接表,存放在内核中并有消息队列标识符标识。int msgget(key_t key,int flag) 用于创建一个新队列或打开一个现存的队列。int msgsend(int msqid,void *ptr,size_t bytes,int flag)将新消息增加到队列尾端。每个消息包含一个正长整型类型字段,一个非负长度以及实际数据字节,所有这些都在将消息增加到队列时,传送给msgsend。msqid为消息队列id,ptr为指向要发送的消息地址的指针,消息的结构可定义为struct msg{int type;char buf[20];};bytes为发送消息有字节数,......【阅读全文】
发布时间:2012-12-09 16:44:51
int mkfifo(char *pathname, mode mode ) mkfifo函数需要两个参数,第一个参数(pathname)是将要在文件系统中创建的一个专用文件。第二个参数(mode)用来规定FIFO的读写权限。mkfifo函数如果调用成功的话,返回值为0;如果调用失败返回值为-1。 mkfifo函数的作用是在文件系统中创建一个文件,该文件用于提供FIFO功能,即命名管道。前边讲的那些管道都没有名字,因此它们被称为匿名管道,或简称管道。对文件系统来说,匿名管道是不可见的,它的作用仅限于在父进程和子进程两个进程......【阅读全文】
发布时间:2012-12-09 16:30:36
FILE *popen ( char *command, char *type)popen()函数首先调用pipe()函数建立一个管道,然后它用fork()函数建立一个子进程,运行一个shell 环境,然后在这个shell 环境中运行"command"参数指定的程序。数据在管道中流向由"type"参数控制。这个参数可以是"r"或者"w",分别代表读和写。需要注意的是,"r"和"w"两个参数不能同时使用!注意:管道是在 pclose() 的时候执行 popen() 创建的脚本命令!!!#include <stdio.h>#include<stdlib.h>#include......【阅读全文】
发布时间:2012-12-09 16:13:21
int pipe(int fd[2])管道通信为半双工通信,用于父子进程之间。管道创建成功返回0,出错返回-1.fd[0]为读打开,fd[1]为写打开。 #include<unistd.h>#include<string.h>#include<sys/types.h>#include<errno.h>#include<stdio.h>#include<stdlib.h>main(){ int pipe_fd[2]; pid_t pid; char r_buf[25];&nbs......【阅读全文】