#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
void ReadFile()
{
char buf[32] = {0};
int fd = open("file.tmp", O_RDONLY);
if (-1 == fd)
{
perror("open");
exit(1);
}
int ret = read(fd, buf, sizeof(buf));
if (-1 == ret)
{
perror("read");
exit(1);
}
printf("Child read from txt : %s\n", buf);
}
void WriteFile()
{
char buf[32] = "helloworld";
int fd = open("file.tmp", O_WRONLY | O_CREAT | O_EXCL, S_IRWXU);
if (-1 == fd)
{
perror("open");
exit(1);
}
int ret = write(fd, buf, strlen(buf));
if (-1 == ret)
{
perror("write");
exit(1);
}
}
int main()
{
pid_t pid;
pid = fork();
if (-1 == pid)
{
perror("fork");
exit(1);
}
else if (0 == pid)
{
sleep(1);
ReadFile();
}
else
{
WriteFile();
sleep(2);
}
return 0;
}