实验4进程间通信:管道(4)

时间:2025-07-09

Linux学习之实验篇共 7篇

exit(EXIT_FAILURE);

} 保存退出$wq

(2) 用gcc命令将文件编译链接,生成目标文件a2.out

$gcc –o a2.out a2.c

(3) 运行目标文件a2.out

$./a2.out

查看运行结果,并将其记录到实验报告中。

3. 用fork函数创建管道

(此为实验七的内容)

(1) 新建一个C

语言程序a3.c

$vi a3.c

程序目的:先在内存中开辟出一段缓冲区,

建立一个管道。再用fork函数创建一个新进程。若在子进程中,就读出管道中的信息;若在父进程中,就向管道写入信息。

a2.c文件内容:

#include<unistd.h>

#include<stdlib.h> #include<stdio.h>

#include<string.h>

int main() {

pid_t fork_result;

memset(buffer,’\0’,sizeof(buffer)); if(pipe(file_pipes)==0) { fork_result=fork();

if(fork_result= =-1) { fprintf(stderr, “Fork failure” exit(EXIT_FAILURE); }

我们对fork的工作情况已经比较了解了,所以如果fork_result等于0,就说明我们是在子进程里,如下所示:

if(fork_result==0) {

data_processed=read(file_pipes[0],buffer,BUFSIZ);

printf(“Read %d bytes: %s\n”exit(EXIT_SUCCESS); }

否则,我们就是在父进程里,如下所示:

实验4进程间通信:管道(4).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219