#include <iostream> #include <cstdio> #include <cstring> #include <string> #include <cstdlib> #include <unistd.h> using std::cin; using std::cout; using std::endl; using std::string; typedef string String; const int MAXLINE = 1005; int main() { int n; int fd[2]; pid_t pid; char line[MAXLINE]; cout << "hehe\n"; cout << fd[0] << ' ' << fd[1] << endl; if (pipe(fd) < 0) { fprintf(stderr, "iipe error"); } if ((pid = fork()) < 0) { fprintf(stderr, "fork error"); } else if(pid > 0) { // parent cout << "par : " << fd[0] << ' ' << fd[1] << endl; close(fd[0]); write(fd[1], "hello world\n", 12); } else { cout << "son: " << fd[0] << ' ' << fd[1] << endl; close(fd[1]); n = read(fd[0], line, MAXLINE); cout << "n : " << n << endl; cout << "line : " << line << endl; write(STDOUT_FILENO, line, n); } exit(0); }
[Linux] 由管道父进程向子进程发送数据 (父子间IPC)
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
进程间通信(IPC)—管道
进程间通信的方式
进程间通信 管道 -
Linux 进程间通信(IPC)
Linux 进程间通信(IPC): Linux系统中除了进程和进程之间通信,我想大家也应该关注用户空间与内
#include 进程间通信 unix 内核空间 用户空间