我是靠谱客的博主 飞快狗,最近开发中收集的这篇文章主要介绍linux系统编程——管道编程实战linux系统编程——管道编程实战,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

linux系统编程——管道编程实战

一、查看man手册
man 2 pipe

fork以后,父进程会拷贝一个空间给子进程,包括fd,父子进程的管道为同一个管道。

#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
int
main()
{
int
fd[2];
int
pid;//定义管道
char buf[128];//缓冲区
// int pipe(int pipefd[2]);
if(pipe(fd)==-1)//创建管道
{
printf("creat
pipe failedn");
}
pid=fork();//创建管道,调用子进程
if(pid<0)
{
printf("creat
child failedn");
}
else
if(pid>0)
{
sleep(3);
printf("this is fathern");
close(fd[0]);
write(fd[1],"hello from father",strlen("hello
from father"));
wait();
//写入管道时,关闭fd[0]
}
else
{
printf("this is childn");
close(fd[1]);
read(fd[0],buf,128);
printf("read from father:%sn",buf);
exit(0);
//读入管道时,关闭fd[1]。
}
return 0;
}

父进程睡眠3秒,先让子进程运行

——@上官可编程

最后

以上就是飞快狗为你收集整理的linux系统编程——管道编程实战linux系统编程——管道编程实战的全部内容,希望文章能够帮你解决linux系统编程——管道编程实战linux系统编程——管道编程实战所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部