#include unistdh#include signalh#include stdioh#include stdlibhint pid1 pid2;int main int fd2; char outpipe100 inpipe100; pipefd; 创建一个管道 while pid1 = fork == -1; if pid1 == 0
这段代码创建了一个管道,然后创建了两个子进程。
第一个子进程向管道中写入一个字符串,然后阻塞5秒,最后退出。
第二个子进程也向管道中写入一个字符串,然后阻塞5秒,最后退出。
父进程等待两个子进程结束后,从管道中读取两个字符串并打印出来。
在子进程写入管道时,使用了互斥锁来保证写入的串不会被打断。
在父进程读取管道时,使用了wait函数来保证两个子进程都已经结束,然后依次读取两个串并打印出来。
原文地址: http://www.cveoy.top/t/topic/feJ1 著作权归作者所有。请勿转载和采集!