一、FD_CLOEXEC 说明
FD_CLOSEXEC是文件描述符的标志位之一(标志位现在只有这一个)。
意思是,标志当前文件描述符,在执行exec时(exec指定的程序执行之前),是否关闭该文件描述符。
二、实例
因为要用到exec这里,我们就写两个程序。并且由于子程序的标准输出,不连接到terminal。所以我们把内容打印到文件中。
// fcntl.c主程序代码
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define CLOEXEC_ENABLE 1 // 控制是否启用CLOSEXEC标志位
int
main(int argc, char **args)
{
int fd = 0;
int pid = 0;
int fd_flag = 0;
int status = 0;
char str_fd_buf[1024] = {
0};