qfedu-linux-advanced-level/day4/file4_0.c

21 lines
589 B
C
Raw Normal View History

2023-08-17 19:22:02 +08:00
// 配合file4使用
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main()
{
// 设置 1 的 close_on_exec 打开状态(默认为关闭)
int flags;
flags = fcntl(1, F_GETFD);
flags |= FD_CLOEXEC;
// flags &= ~FD_CLOEXEC; // 关闭 FD_CLOEXEC 标志位
fcntl(1, F_SETFD, flags);
execl("./file4_1", "file4_1", NULL); // 当 file4_1 存在时会切换到file4_1运行不会继续执行本程序后续行内容
printf("file4_0"); // 当file4_1不存在时才会执行到这里
return 0;
}