父子进程都写入文件.txt
来自「这是linux下关于进程操作的两个例子,分别是"父子进程都写入文件"和"管道-两」· 文本 代码 · 共 44 行
TXT
44 行
/*父子进程都写入文件*/
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main(void)
{
static const char str1[]="这是子进程写的内容...";
static const char str2[]="这是父进程写的内容!!!";
pid_t p,parent,child;
int fd;
size_t n1,n2;
n1=strlen(str1);
n2=strlen(str2);
if((fd=open("test.txt",2))<0)
{perror("open test.txt\n");exit(1);}
while((p=fork())==-1);
if(p==0)
{child=getpid();
printf("子进程 PID:%d\n",child);
if(write(fd,str1,n1)<0)
{perror("sub process write test.txt");exit(1);}
printf("进程写 成功\n");
exit(0);
}
else
{
printf("父进程 PID:%d\n",parent);
if(write(fd,str2,n2)<0)
{perror("parent process write test.txt");exit(1);}
printf("父进程写 成功\n");
wait();
close(fd);
exit(0);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?