概述
简单介绍几个进程间通信的API
分为以下几个方面
1.管道pipe 和popen
2.命名管道
3.信号量
4.共享内存
5.消息队列
没有介绍套接字
一.管道
1.进程管道
FILE* popen(const char* command, const char* open_mode);
int pclose(FILE* stream_to_close);
popen允许一个程序将另一个程序作为新的进程来启动,并且可以给那个程序或者进程发送数据,或者接受那个程序或者进程的数据
open_mode取“r”时,则可以接受数据
open_mode取"w"时,则可以发送数据
pclose负责关闭管道
//程序实例1:启动一个shell进程,读取shell的结果
#include<unistd.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
FILE* read_fp = NULL;
char buf[255];
int chars_read = 0;
memset(buf, '