手机版

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

时间:2025-04-23   来源:未知    
字号:

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文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)