关于有名管道的 读写问题 请 大虾们帮我看看 。。。。。
/*
两个进程 : 一个在接到 sigalrm 信号 后向 管道里写入一个随机数和系统时间,另一个读出并写进文件,父进程等待 2分钟后 发出终止信号 结束。*/
并显示
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <time.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#define filename "myfifo "
void w_fifo();
void r_fifo();
int main(int argc, char *argv[])
{
int pid1,pid2;
int i=0;
int file;
if( (file = mkfifo(filename,O_CREAT|O_EXCL)) < 0)
perror( "mfifo ");
if(( pid1 = fork() ) < 0)
{
perror( "fork ");
exit(1);
}
else if( pid1 == 0)
{
signal(SIGALRM, w_fifo);
alarm(1);
pause();
}
///////////////////////////////////////////////////
if(( pid2 = fork() ) < 0)
{
perror( "fork ");
exit(1);
}
else if( pid2 == 0)
{
r_fifo();
}
///////////////