文件描述符
Linux 系统中,把一切都看做是文件(一切皆文件)。
当进程打开现有文件或创建新文件时,内核向进程返回一个数字标识,这个标识叫文件描述符(file descriptor)。
文件描述符就是内核为了高效管理已被打开的文件所创建的索引,用来指向被打开的文件,所有执行I/O操作的系统调用都会通过文件描述符。
文件描述符是非负整数。读写文件也需要使用文件描述符来指定待读写的文件。
0 通常是标准输入(STDIN) ,1 是标准输出(STDOUT) ,2 是标准错误输出(STDERR) 。
文件描述符、文件、进程间的关系:
(1)每个文件描述符会与一个打开的文件相对应;
(2)不同的文件描述符也可能指向同一个文件;
(3)相同的文件可以被不同的进程打开,也可以在同一个进程被多次打开;