创建一个管道,父进程与使用fork创建的子进程直接通信
发送数据的进程关闭读端,接受数据的进程关闭写端
子进程通过管道向父进程写入“Hello, world!”,父进程读取管道内容,并输出
相关API如下:
int pipe(int fd[2])
ssize_t read(int fd, void *buf, size_t count);
ssize_t write(int fd, const void *buf, size_t count);
int close(int fd);
挑战性任务
利用管道实现Shell命令,如ps -ef | wc -l
ps -ef | wc -l
父进程:ps -ef
ps -ef
子进程:wc -l
wc -l