[学习笔记]父子进程共享文件描述符理解
#include<stdio.h> #include<stdlib.h> #include<string.h> #include <unistd.h> #include<errno.h> #include <signal.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> //演示父子进程共享文件描述符 //相当于2个fd指向同一块内存空间. //因为2个进程共享了文件指针偏移量,所以都能向文件中有序写数据 int main(void) { pid_t pid; int fd; fd = open("test.txt", O_WRONLY); if (-1 == fd) { perror("open err"); exit(0); } pid = fork(); if (-1 == pid) { perror("fork err"); return 0; } if (pid > 0) { write(fd, "parent", 6); close(fd); } if (0 == pid) { write(fd, "child", 6); close(fd); } return 0; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。