📄 fork_descriptor.c
字号:
#include <sys/types.h>#include <stdio.h>#include <unistd.h>#include <fcntl.h>#include <string.h>#include <stdlib.h>int main(int argc,char *argv[]){ pid_t pid; int fd; int i=1; int status; char *ch1="hello"; char *ch2="world"; char *ch3="IN"; if((fd=open("test.txt",O_RDWR|O_CREAT,0644))==-1) { perror("parent open"); exit(EXIT_FAILURE); } if(write(fd,ch1,strlen(ch1))==-1) { perror("parent write"); exit(EXIT_FAILURE); } if((pid=fork())==-1) { perror("fork"); exit(EXIT_FAILURE); } else if(pid==0) { i=2; printf("in child\n"); printf("i=%d\n",i); if(write(fd,ch2,strlen(ch2))==-1) perror("child write"); return 0; } else { sleep(1); printf("in parent\n"); printf("i=%d\n",i); if(write(fd,ch3,strlen(ch3))==-1) perror("parent,write"); wait(&status); return 0; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -