网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

[Linux进程]在父进程和子进程中分别对文件进行操作

/*子进程和父进程同时对一个文件进行写操作导致文件发生混乱的实例
写入数据的文件由argv[1]指定,数据来源在argv[2]所指定的文件中*/
#include 
#include 
#include 
#include 
int readfd, writefd;    //读文件描述符和写文件描述符
char c;                 //文件内容的中转字符空间
int main(int argc, char*argv[])
{
  if(argc!=3)   //如果参数不正确
  {
    printf("Usage %s sourcesfiel destfile. \n",argv[0]);
    return 1;
  }
  if((readfd = open(argv[1], O_RDONLY))==-1)  //如果打开文件失败
  {
    printf("打开文件%s失败!\n",argv[1]);
    return 2;
  }
  if((writefd = creat(argv[2],S_IRWXU))==-1)   //如果创建文件失败
 {
    printf("创建文件%s失败!\n",argv[2]);
    return 3;
 }
 fork();   //创建子进程,以下为父进程和子进程同时执行的步骤
 for(;;)
 {
   if(read(readfd,&c,1) != 1)  //如果读不出数据则返回
   {
     return 4;
   }
   write(writefd,&c,1);    //将读出的数据写入文件中
 }
 return 0;
}

创新互联建站认为,企业网站是要赋予品质、思维、人性,深入到用户内心的细腻情感,才能真正称得上企业网站。创新互联建站根据每位用户内心最深的需求网站建设服务,坚实的设计执行是品牌长期视觉塑造的重要支持。

/*子进程和父进程同时对一个文件进行写操作导致文件发生混乱的实例
写入数据的文件由argv[1]指定,数据来源在argv[2]所指定的文件中*/
#include 
#include 
#include 
#include 
int readfd, writefd;    //读文件描述符和写文件描述符
char c;                 //文件内容的中转字符空间
int main(int argc, char*argv[])
{
  pid_t pid;
  if(argc!=3)   //如果参数不正确
  {
    printf("Usage %s sourcesfiel destfile. \n",argv[0]);
    return 1;
  }
  if((readfd = open(argv[1], O_RDONLY))==-1)  //如果打开文件失败
  {
    printf("打开文件%s失败!\n",argv[1]);
    return 2;
  }
  if((writefd = creat(argv[2],S_IRWXU))==-1)   //如果创建文件失败
 {
    printf("创建文件%s失败!\n",argv[2]);
    return 3;
 }
 pid = fork();   //创建子进程,以下为父进程和子进程同时执行的步骤
 if(pid == 0)    //让子进程休眠2秒
 {
   sleep(1);
 }
 for(;;)
 {
   if(read(readfd,&c,1) != 1)  //如果读不出数据则返回
   {
     return 4;
   }
   write(writefd,&c,1);    //将读出的数据写入文件中
 }
 return 0;
}

本文题目:[Linux进程]在父进程和子进程中分别对文件进行操作
URL网址:http://bjjierui.cn/article/iejejo.html

其他资讯