环境:Vmware Workstation;CentOS-6.4-x86_64
程序的实现原理:
在myexecve中得到文件的描述符,通过execve函数,传递文件的描述符到程序other中,随后通过程序other替换程序myexecve,最后实现不同进程之间完成共享文件描述符的操作。
步骤:
1、编写makefile文件:
.SUFFIXES:.c .o
CC=gcc
SRCS1=main.c
OBJS1=$(SRCS1:.c=.o)
EXEC1=main
SRCS2=other.c
OBJS2=$(SRCS2:.c=.o)
EXEC2=other
start: $(OBJS1) $(OBJS2)
$(CC) -o $(EXEC1) $(OBJS1)
$(CC) -o $(EXEC2) $(OBJS2)
@echo "-----------------------------OK-----------------------"
.c.o:
$(CC) -Wall -o $@ -c $<
clean:
rm -rf $(EXEC1) $(OBJS1)
rm -rf $(EXEC2) $(OBJS2)
2、编写需要用到的文本文件a.txt:
This is some words.
3、编写源文件other.c:
#include <stdio.h>
#include <stdlib.