QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 714|回复: 3

帮帮我,谢谢

[复制链接]
发表于 2005-6-24 15:19:11 | 显示全部楼层 |阅读模式
在liunx系统中编写 C语言程序, 创建一个子进程。父进程和子进程交替运行。父进程先显示一次“current time”,然后子进程每隔一秒显示一次当前系统日期和时间,共显示三次。以上过程共循环进行5次。
谁会这个啊,教  教 我,谢谢
发表于 2005-6-26 00:10:36 | 显示全部楼层
建议看看《unix进程间通讯》这本书
[code:1]
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
void currtime()
{
        printf(".........diy........\n");
}
main()
{
        int p1[2],p2[2],i;
        char buf[7];
        if (pipe(p1)==-1 || pipe(p2)==-1)
        {
                exit(1);
        }
        switch(fork())
        {
                case -1:
                        exit(1);
                case 0://子进城
                        close(p1[1]);
                        close(p2[0]);
                        for(i=0;i<5;i++)
                        {
                                read(p1[0],buf,6);//等待
                                currtime();
                                sleep(1);
                                currtime();
                                sleep(1);
                                currtime();
                                sleep(1);
                                write(p2[1],"aaaaaa",6);//往管道里写点东西让父进程进行下去                               
                        }
                        close(p1[0]);
                        close(p2[1]);
                        break;
                default://父进城
                        close(p1[0]);
                        close(p2[1]);
                        for(i=0;i<5;i++)
                        {
                                printf("current time\n");
                                write(p1[1],"bbbbbb",6);//往管道里写点东西让子进程进行下去
                                read(p2[0],buf,6);//等待
                        }
                        close(p1[1]);
                        close(p2[0]);
                        break;
        }
}

[/code:1]
回复

使用道具 举报

发表于 2005-6-26 16:44:36 | 显示全部楼层
mozilla很棒!!
支持!
回复

使用道具 举报

发表于 2005-6-28 09:56:57 | 显示全部楼层
佩服,向你学习!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 19:40 , Processed in 0.055142 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表