易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux 下实现两个管道双向数据流

原文地址:http://www.wangzhongyuan.com/archives/488.html
以下是一个Linux/Unix下由两个管道提供双向数据流的C程序,这是操作系统课程中经常使用的基本程序
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <stdio.h>
#include <string.h>
int main()
{
int fd1[2],fd2[2],cld_pid,status;
char buf[200], len;

if (pipe(fd1) == -1) // 创建管道1
{
printf("creat pipe1 error\n");
exit(1);
}
if (pipe(fd2) == -1) // 创建管道2
{
printf("creat pipe2 error\n");
exit(1);
}

if ((cld_pid=fork()) == 0) //子进程
{
close(fd1[1]); // 子进程关闭管道1的写入端
close(fd2[0]); // 子进程关闭管道1的读出端

//子进程读管道1
len = read(fd1[0],buf,sizeof(buf));
printf("\n这是在子进程:子进程从管道1中读出的字符串 -- %s",buf);

//子进程写管道2
strcpy(buf,"子进程写入管道2的字符串");
write(fd2[1],buf,strlen(buf));
printf("\n这是在子进程:子进程成功写入如下语句:%s\n",buf);

exit(0);
}
else //父进程
{
close(fd1[0]); // 父进程关闭管道1的读出端
close(fd2[1]); // 父进程关闭管道2的写入端

//父进程写管道1
strcpy(buf,"父进程写入管道1的字符串");
write(fd1[1],buf, strlen(buf));
printf("miaojing\n");

//父进程读管道2
len = read(fd2[0],buf,sizeof(buf));
printf("\n这是在父进程:父进程从管道2中读出的字符串 -- %s\n",buf);
exit(0);
}
}


相关文档:

实战Linux Bluetooth编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......

Linux环境的AMP安装 PHP安装


3、PHP安装
1)还是下载源码包,如:php-5.1.1.tar.gz,下载地址:http://www.php.net
2)解压缩,>tar -zxvf php-5.1.1.tar.gz
3)进入php-5.1.1,>cd php-5.1.1
4)安装配置,>./configure --prefix=/opt/php
--with-apxs2=/opt/apache/bin/apxs --with-mysql=/opt/mysql
--with-mysqli=/opt/mysql/bin/ ......

linux 系统编码

一。linux系统的默认编码设置。
/etc/sysconfig/i18n
Controls the system font
settings. The language variables are used in /etc/profile.d/lang.sh. An
example i18n file:
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"

SUPPORTED="zh_CN.GB18030:zh_CN ......

Linux内核如何接收不同类型以太帧

1. 前言
以太头中除了6字节目的MAC地址、6字节源MAC地址外,还有两字节的以太帧类型值,如IPv4为0x0800,ARP为0x0806等,网卡驱动收到以太帧后通过接口函数netif_receive_skb()(netif_rx实际最后也是调用netif_receive_skb)交到上层,而这个接口函数就完成对以太帧类型的区分,交到不同的协议处理程序。如果想自己编写某一 ......

学习linux几点忠告 转

Linuxmine收集整理 作者:linux宝库 (http://www.linuxmine.com) 1. 不要当“传教士”
很多人在讨论区不断的引起 "Linux vs. Windows" 之类的讨论,甚至争的面红耳赤,这是没有必要的。
这种争论是浪费时间而没有任何用处的。对,你花了一下午,用许多事实“捍卫”了 “Linux 比 Windows 好” 这个说法。但是 Win ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号