linux学习:进程间通信—管道
2024-08-28 13:05:41
1、进程间通信当中一种比較简单的方法是管道操作
/*
============================================================================
Name : Test.c
Author : wangchuan
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/ #include <stdio.h>
#include <stdlib.h> #include <string.h>
#include <unistd.h> #include <sys/types.h>
#include <sys/wait.h> int main(int argc,char* argv[]) {
int fd[2],cld_pid,len;
char buf[200];
if(pipe(fd) == -1){
perror("创建管道出错");
exit(1);
}
if((cld_pid=fork()) == 0){
close(fd[1]);
len = read(fd[0],buf,sizeof(buf));
buf[len] = 0;
printf("子进程从管道中读取的数据是:%s ",buf);
exit(0);//结束子进程
}
else{
close(fd[0]);
sprintf(buf,"父进程为子进程(PID=%d)创建该数据",cld_pid);
write(fd[1],buf,strlen(buf));
exit(0);//结束父进程
}
return 0;
}
编译执行输出例如以下:
子进程从管道中读取的数据是:父进程为子进程(PID=7309)创建该数据
最新文章
- AJAX 详解注释很全来自互联网
- jira操作
- 技术英文单词贴--N
- 转载:Cellebrite携两大移动数据服务强势来华
- angularJS之$apply()方法
- React事件函数简介
- C# 枚举,传入int值返回string值
- document.documentElement.style判断浏览器是否支持Css3属性
- objective-c 中数据类型之六 数值类(NSValue)
- Sql Server 日期格式化
- 升级到appcompat v7 21.0.2之后遇到的问题解决方法
- Plupload上传插件简单整理
- SQL1
- 归并排序及优化(Java实现)
- 【翻译】Sencha Touch 2入门:创建一个实用的天气应用程序之三
- sqlalchemy外键和relationship查询
- android make-standalone-toolchain.sh 使用说明
- Haskell语言学习笔记(60)Biapplicative
- Laravel Eloquent Model->;isDirty() Function
- 【转】Stack Overflow研发副总裁:.NET技术并不差,合适自己就好
热门文章
- Codeforces Round #438 by Sberbank and Barcelona Bootcamp (Div. 1 + Div. 2 combine
- IndiaHacks 2nd Elimination 2017 (unofficial, unrated mirror, ICPC rules)
- 牛客网Wannafly模拟赛
- iOS学习笔记05-触摸事件
- 刷题总结——弹飞绵羊(bzoj2002)
- Snmp的学习总结——Snmp的基本概念
- Lucas定理详解
- bzoj2144 跳跳棋 二分
- mongodb的入门CURD
- web开发规范文档