linux系统调用之dup dup2

#include<stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <errno.h>

#define FILENAME "/tmp/a"
int main()
{
       int fd;
       fd=open(FILENAME,O_WRONLY| O_CREAT| O_TRUNC,0600);
       if(fd < 0) {
               perror("open()");
               exit(1);
       }

//      close(1);
//      dup(fd);

       dup2(fd,1);     //原子操作
       if(fd != 1) {
               close(fd);
       }
       puts("hello");
       return 0;
}

你可能感兴趣的:(return,linux,include,close,hello)