File-Descriptors
關閉後可以重新使用stdout(1)文件描述符嗎?
我首先呼叫 close(1),然後使用 open() 系統呼叫打開一個文件。
open() 是否有可能返回 1,因為它將使用最低的空閒文件描述符?
我讀過 open() 在這裡使用最低的免費文件描述符。
是的,fd 1 將被重新使用。嘗試這個:
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #include <unistd.h> int main(int argc, char **argv) { close(1); fprintf(stderr, "%d\n", open("/dev/null", O_RDONLY)); }