★实验 9-2 1.补全代码,实现以下功能 a)调用pipe()创建无名管道 b)调用fork创建一个子进程 c)在父进程中向管道写入 “helloworld”, 同时打印出PID和写入
来源:互联网 发布:ubuntu怎么进入文件夹 编辑:程序博客网 时间:2024/05/29 23:22
★实验 9-2 1.补全代码,实现以下功能a)调用pipe()创建无名管道b)调用fork创建一个子进程c)在父进程中向管道写入 “helloworld”, 同时打印出PID和写入的字节数d)在子进程中调用execl()执行pipe_reade)pipe_read执行过程中读出管道中内容, 同时打印出PID、读出的字节数、读出的内容// main.c#include <stdio.h>#include <string.h>#include <signal.h>#include <unistd.h>#include <sys/types.h>#include <fcntl.h>#include <stdlib.h>int main(){int p[2];int ret=-1;char buffer[]="helloworld ";if( -1 == pipe(p)) {printf("pipe error!\n");return -1;}if (fork() == 0) {sprintf(buffer, "%d", p[0]);execl("pipe_read", " pipe_read", buffer, (char *)0);exit(EXIT_FAILURE);}else {ret=write(p[1],buffer,sizeof(buffer));printf("pid:%d write %d bytes\n",getpid(),ret);}exit(EXIT_SUCCESS);}// pipe_read.c#include <stdio.h>#include <string.h>#include <signal.h>#include <unistd.h>#include <sys/types.h>#include <fcntl.h>#include <stdlib.h>int main(int argc, char *argv[]){ int ret=-1; int fd;sscanf(argv[1], "%d", &fd);ret=read(fd,argv[1],argc*3);printf("pid:%d read %d bytes :%s\n",getpid(),ret,argv[1]);exit(EXIT_SUCCESS);}
阅读全文
0 0
- ★实验 9-2 1.补全代码,实现以下功能 a)调用pipe()创建无名管道 b)调用fork创建一个子进程 c)在父进程中向管道写入 “helloworld”, 同时打印出PID和写入
- 实验 9-1 1. 实现以下功能 a) 调用 pipe()创建无名管道 b) 调用 fork 创建一个子进程 c) 在子进程中向管道内写入 128k 数据,打印出进程号及成功写入的字节数 d) 在父
- linux c之管道的介绍、创建关闭和简单读写(父进程向子进程写入数据)
- fork创建子进程利用pipe管道通信
- fork创建子进程利用pipe管道通信
- ★实验 8-2 1. 创建两个守候进程。每个守候进程各自创建独立的日志文件。 2. 每隔 1s 向日志文件中写入如下信息: a) 守候进程 1:未使用的内存大小(MemFree) b) 守
- 进程通信-无名管道PIPE
- Linux 进程间通讯之创建无名管道和读写无名管道
- Linux 进程间通讯之创建无名管道和读写无名管道
- 创建一个进程和两个管道,实现与进程通信
- linux 进程编程:无名管道pipe
- 进程间通信--无名管道(pipe)
- Linux c 匿名管道实例—创建两个子进程与父进程进行管道通信
- Linux 调用fork()创建两个子进程
- fork产生子进程利用pipe管道通信
- fork产生子进程利用pipe管道通信
- ★实验 8-1 1. 创建一个守候进程。并为自己创建独立的日志文件。 2. 每隔 1s 向日志文件中写入如下信息: a) 未使用的内存大小(MemFree) 可以从/proc/meminf
- TCP编程中,在server端调用fork创建子进程,在子进程中接收/处理外部数据。
- css基础样式
- 实验 9-1 1. 实现以下功能 a) 调用 pipe()创建无名管道 b) 调用 fork 创建一个子进程 c) 在子进程中向管道内写入 128k 数据,打印出进程号及成功写入的字节数 d) 在父
- 死锁的四个必要条件
- EMC的一个笔试题目
- Linux下RTC驱动的简单分析
- ★实验 9-2 1.补全代码,实现以下功能 a)调用pipe()创建无名管道 b)调用fork创建一个子进程 c)在父进程中向管道写入 “helloworld”, 同时打印出PID和写入
- Gradle for Android-高级Build和自定义
- ★实验9-3 1.用不同的方案实现两个命令的连接,例如 “who|sort”、“ps aux | grep init” 源程序: #include <stdio.h> #include <sys
- 【Nginx】Nginx优秀特点
- 【spring MVC】数据校验
- H
- 文章标题
- 黑阔的win10--把win10打造成kali(记录帖)
- Linux-视频监控系统(5)-TCP传输子系统实现