帮忙解释这段代码的执行过程

swizard04 2009-05-26 04:33:21
为什么没有任何输出结果,请分析下:
#include "ourhdr.h"

static int pfd1[2], pfd2[2];

int
main(void)
{
int n, fd[2];
pid_t pid;
char line[MAXLINE];

if (pipe(fd) < 0)
err_sys("pipe error");

if (pid = fork() < 0)
else if (pid > 0)
{
close(fd[0]);
write(fd[1], "hello world\n", 12);
close(fd[1]);
printf("parent process write over\n");
sleep(10);
exit(0);
}

else
{
close(fd[1]);
sleep(3);
n = read(fd[0], line, MAXLINE);
write(STDOUT_FILENO, line, n) ;

}
if (n < 0)
err_sys("read error");
exit(0);
}
...全文
55 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧