环境:Vmware Workstation;CentOS-6.4-x86_64
说明:
1、父进程和子进程可以共享打开的文件描述符。
2、父子进程共享文件描述符的条件:在fork之前打开文件。
3、对于两个完全不相关的进程,文件描述符不能共享。
4、父子进程文件描述符是共享的,但是关闭的时候可以分别关闭,也可以同时在公有代码中关闭。
准备文件a.txt:
This is some words.
makefile文件:
.SUFFIXES:.c .o
CC=gcc
SRCS=main.c
OBJS=$(SRCS:.c=.o)
EXEC=main
start: $(OBJS)
$(CC) -o $(EXEC) $(OBJS)
@echo "-----------------------------OK-----------------------"
.c.o:
$(CC) -Wall -o $@ -c $<
clean:
rm -rf $(EXEC) $(OBJS)
程序1:父子进程的文件描述符可以共享,但是要在fork之前打开,并在公有代码中关闭文件。
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h&g