Ai
1 Star 0 Fork 0

杨谨徽/代码托管

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
c3.7.c 1.20 KB
一键复制 编辑 原始数据 按行查看 历史
杨谨徽 提交于 2023-10-21 14:29 +08:00 . add c3.7.c.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int pd[2], n, i;
char line[256];
int main()
{
pipe(pd); // create a pipe
printf("pd=[%d, %d]\n", pd[0], pd[1]);
if(fork()){ // fork a child to share the pipe
printf("parent %d close pd[0]\n", getpid());
close(pd[0]); // parent as pipe WRITER
while(i++ < 10){ // parent writes to pipe 10 times
printf("parent %d writing to pipe\n", getpid());
n = write(pd[1], "I AM YOUR PAPA", 16);
printf("parent %d wrote %d bytes to pipe\n", getpid(), n);
}
printf("parent %d exit\n", getpid());
}
else{
printf("child %d close pd[1]\n", getpid());
close(pd[1]); // child as pipe READER
while(1){ // child read from pipe
printf("child %d reading from pipe\n", getpid());
if((n = read(pd[0], line, 128))){ //try to read 128 bytes
line[n]=0;
printf("child read %d bytes from pipe: %s\n", n, line);
}
else // pipe has no data and no writer
exit(0);
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/SHIBATORI/code-hosting.git
git@gitee.com:SHIBATORI/code-hosting.git
SHIBATORI
code-hosting
代码托管
master

搜索帮助