process_pipe.c

来自「进程管道通信」· C语言 代码 · 共 67 行

C
67
字号
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<stdio.h>
#include<errno.h>
#define INPUT 0
#define OUTPUT 1
int main(){
  int file1[3];
  //int file2[2];
  pid_t child1,child2;
  char buf1[256];
  char buf2[256];
  int returned_count;
  pipe(file1);
  // pipe(file2);
   if((child1=fork())==-1){
    printf("Fork Error:%s\n",strerror(errno));    exit(1);
  }
  if(child1==0){ 
    close(file1[INPUT]);
     write(file1[OUTPUT],"child1",6);
	      exit(0);
}  //close(file1[OUTPUT]);
  read(file1[INPUT],buf1,sizeof(buf1));  // printf("%s\n",buf2);  open(file1[OUTPUT]);  child2=fork();	if(child2==0){	  close(file1[INPUT]);       write(file1[OUTPUT],"child2",6);	      exit(0);}	close(file1[OUTPUT]);	read(file1[INPUT],buf2,sizeof(buf2));	printf("received from spawned process:\n%s\n%s\n",buf1,buf2);       return 1;       }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?